Re: Importance of kobject

2017-05-17 Thread Luis de Bethencourt
On Wed, May 17, 2017, at 04:50 AM, Greg KH wrote:
> On Wed, May 17, 2017 at 12:34:28PM +0100, Okash Khawaja wrote:
> > Hi,
> > 
> > On Wed, May 17, 2017 at 8:08 AM, Madhu K <madhu.s...@gmail.com> wrote:
> > > Hi All,
> > >
> > > I am kernel newbie, I want to know the importance of kobject, can anybody
> > > explain the importance of kobject with an example.
> > 
> > To state a not-so-popular analogy, kobjects can also be viewed as root
> > object in object oriented programming. So a bit like java.lang.Object.
> > Of course it is not a root object and indeed C is not OO, but this
> > view helps in thinking about it.
> 
> Well, it _is_ a "root object", and you can write OO code in C, which is
> what we did for kobjects (and struct device, and struct class, and kref,
> and other things like that.)
> 
> So it is a "popular" analogy, as this is exactly what the authors of the
> code were intending for people to see.
> 
> thanks,
> 
> greg k-h
> 

Hi,

You also have GObject proving that you can do OOP in C.
Use kobject like you would a base class.

Luis

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Importance of kobject

2017-05-17 Thread Greg KH
On Wed, May 17, 2017 at 12:34:28PM +0100, Okash Khawaja wrote:
> Hi,
> 
> On Wed, May 17, 2017 at 8:08 AM, Madhu K <madhu.s...@gmail.com> wrote:
> > Hi All,
> >
> > I am kernel newbie, I want to know the importance of kobject, can anybody
> > explain the importance of kobject with an example.
> 
> To state a not-so-popular analogy, kobjects can also be viewed as root
> object in object oriented programming. So a bit like java.lang.Object.
> Of course it is not a root object and indeed C is not OO, but this
> view helps in thinking about it.

Well, it _is_ a "root object", and you can write OO code in C, which is
what we did for kobjects (and struct device, and struct class, and kref,
and other things like that.)

So it is a "popular" analogy, as this is exactly what the authors of the
code were intending for people to see.

thanks,

greg k-h

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Importance of kobject

2017-05-17 Thread Okash Khawaja
Hi,

On Wed, May 17, 2017 at 8:08 AM, Madhu K <madhu.s...@gmail.com> wrote:
> Hi All,
>
> I am kernel newbie, I want to know the importance of kobject, can anybody
> explain the importance of kobject with an example.

To state a not-so-popular analogy, kobjects can also be viewed as root
object in object oriented programming. So a bit like java.lang.Object.
Of course it is not a root object and indeed C is not OO, but this
view helps in thinking about it.

This section from ldd3 lists some of the tasks handled by kobject:
http://www.makelinux.net/ldd3/chp-14-sect-1. So whichever struct
ultimately encapsulates (inherits from) kobject will have those tasks
handled for it for free. This view is in addition to others expressed
here.

HTH
Okash

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Importance of kobject

2017-05-17 Thread Bjørn Mork
Madhu K <madhu.s...@gmail.com> writes:

> I am kernel newbie, I want to know the importance of kobject, can anybody
> explain the importance of kobject with an example.

I think the best generic example is that you can write Linux drivers,
using kobjects all over, without ever having to actually worry about
kobjects.  You just use struct device, often without even realizing that
there is a kobject embedded in it.

At least that's all I know about them :-)

If you want code exaples, then "git grep kobj drivers/" will provide
enough for a lifetime.  And more.


Bjørn

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Re: Importance of kobject

2017-05-17 Thread Rami Rosen
Hi,
Also sysfs is tied inherently to the kobject infrastructure. So I
suggest that you will take a look also in
http://elixir.free-electrons.com/linux/latest/source/Documentation/filesystems/sysfs.txt

Chapter 14 of Linux Device Drivers, 3rd edition, was written in 2005,
so you should take in account that things change a bit since then in
terms of implementation details. The principles are for a large extent
quite the same, though.

Regards,
Rami Rosen




On 17 May 2017 at 10:21, Alexander Kapshuk <alexander.kaps...@gmail.com> wrote:
> -- Forwarded message --
> From: Alexander Kapshuk <alexander.kaps...@gmail.com>
> Date: Wed, May 17, 2017 at 10:20 AM
> Subject: Re: Importance of kobject
> To: Madhu K <madhu.s...@gmail.com>
>
>
> On Wed, May 17, 2017 at 10:08 AM, Madhu K <madhu.s...@gmail.com> wrote:
>> Hi All,
>>
>> I am kernel newbie, I want to know the importance of kobject, can anybody
>> explain the importance of kobject with an example.
>>
>> Thanks in advance.
>> Madhu
>>
>> ___
>> Kernelnewbies mailing list
>> Kernelnewbies@kernelnewbies.org
>> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>
>
> Kobjects play an essential role in the Device Model.
> The documentation below may be a good starting point in learning about 
> kobjects:
>
> https://lwn.net/images/pdf/LDD3/ch14.pdf
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Documentation/kobject.txt?h=v4.12-rc1
>
> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Fwd: Importance of kobject

2017-05-17 Thread Alexander Kapshuk
-- Forwarded message --
From: Alexander Kapshuk <alexander.kaps...@gmail.com>
Date: Wed, May 17, 2017 at 10:20 AM
Subject: Re: Importance of kobject
To: Madhu K <madhu.s...@gmail.com>


On Wed, May 17, 2017 at 10:08 AM, Madhu K <madhu.s...@gmail.com> wrote:
> Hi All,
>
> I am kernel newbie, I want to know the importance of kobject, can anybody
> explain the importance of kobject with an example.
>
> Thanks in advance.
> Madhu
>
> ___
> Kernelnewbies mailing list
> Kernelnewbies@kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>

Kobjects play an essential role in the Device Model.
The documentation below may be a good starting point in learning about kobjects:

https://lwn.net/images/pdf/LDD3/ch14.pdf
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Documentation/kobject.txt?h=v4.12-rc1

___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Importance of kobject

2017-05-17 Thread Madhu K
Hi All,

I am kernel newbie, I want to know the importance of kobject, can anybody
explain the importance of kobject with an example.

Thanks in advance.
Madhu
___
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies