Re: Importance of kobject
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
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
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
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
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
-- 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
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