From: Guenter Roeck <linux@roeck-us.net>
To: Jean Delvare <khali@linux-fr.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org
Subject: Re: [lm-sensors] [RFC PATCH 0/2] fs: sysfs: Add devres support
Date: Mon, 18 Mar 2013 13:29:54 +0000 [thread overview]
Message-ID: <20130318132954.GA30482@roeck-us.net> (raw)
In-Reply-To: <20130318090241.3856df75@endymion.delvare>
On Mon, Mar 18, 2013 at 09:02:41AM +0100, Jean Delvare wrote:
> On Sun, 17 Mar 2013 06:19:33 -0700, Guenter Roeck wrote:
> > On Sun, Mar 17, 2013 at 01:39:20PM +0100, Jean Delvare wrote:
> > > I'd like to add something at this point.
> > >
> > > We have historically created the hwmon attributes in the hardware (i2c,
> > > platform...) device, and then created an empty hwmon class device on
> > > top of it so that libsensors etc. can locate all hardware monitoring
> > > chips on the system. This is probably wrong and this may explain the
> > > difference of views between Greg and Guenter.
> > >
> > > I suspect that ideally all hwmon-related attributes should belong to the
> > > hwmon-class device and not the physical device. Would doing so solve
> > > the problem of is_visible() needing chip-specific information that can
> > > only be gathered during probe()? Sure this is an interface change, but
> > > a few hwmon drivers already do it that way (the ones without an actual
> > > hardware device, e.g. ACPI thermal zones) and libsensors supports this
> > > since version 3.0.3, which was released in September 2008 - 4.5 years
> > > ago.
> > >
> > > This would require creating the attributes after calling
> > > hwmon_device_register() rather than before, but from the ongoing
> > > discussion I seem to understand that the driver core supports creating
> > > the attributes for us, possibly at the same time as the class device
> > > will be created. Would this solve the userspace timing issue?
> > >
> > This is what I had in mind as ultimate possibility when I created
> > the second API mentioned in my other e-mail.
> >
> > struct device *devm_hwmon_device_register(struct device *dev,
> > const struct attribute_group **groups)
> >
> > The attributes are still attached to dev (ie to the hardware device)
> > in my current code, but it should be possible to attach them to the
> > hwmon class device instead.
> >
> > Problem with that approach is that it makes drivers larger, not smaller,
> > at least if is_visible is needed. So it kind of defeats the purpose.
> >
> > We can go along that route anyway if people think it is the right or a better
> > approach, but I am not sure if it is worth it. I can send out the patches if
> > there is interest.
>
> Really, I don't know. All I know is that I do not have any time to
> devote to this ATM.
>
Hi Jean,
Can't help it. Worst case I learned how make better use of is_visible
and how to avoid its pitfalls.
Guenter
_______________________________________________
lm-sensors mailing list
lm-sensors@lm-sensors.org
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors
WARNING: multiple messages have this Message-ID (diff)
From: Guenter Roeck <linux@roeck-us.net>
To: Jean Delvare <khali@linux-fr.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org
Subject: Re: [lm-sensors] [RFC PATCH 0/2] fs: sysfs: Add devres support
Date: Mon, 18 Mar 2013 06:29:54 -0700 [thread overview]
Message-ID: <20130318132954.GA30482@roeck-us.net> (raw)
In-Reply-To: <20130318090241.3856df75@endymion.delvare>
On Mon, Mar 18, 2013 at 09:02:41AM +0100, Jean Delvare wrote:
> On Sun, 17 Mar 2013 06:19:33 -0700, Guenter Roeck wrote:
> > On Sun, Mar 17, 2013 at 01:39:20PM +0100, Jean Delvare wrote:
> > > I'd like to add something at this point.
> > >
> > > We have historically created the hwmon attributes in the hardware (i2c,
> > > platform...) device, and then created an empty hwmon class device on
> > > top of it so that libsensors etc. can locate all hardware monitoring
> > > chips on the system. This is probably wrong and this may explain the
> > > difference of views between Greg and Guenter.
> > >
> > > I suspect that ideally all hwmon-related attributes should belong to the
> > > hwmon-class device and not the physical device. Would doing so solve
> > > the problem of is_visible() needing chip-specific information that can
> > > only be gathered during probe()? Sure this is an interface change, but
> > > a few hwmon drivers already do it that way (the ones without an actual
> > > hardware device, e.g. ACPI thermal zones) and libsensors supports this
> > > since version 3.0.3, which was released in September 2008 - 4.5 years
> > > ago.
> > >
> > > This would require creating the attributes after calling
> > > hwmon_device_register() rather than before, but from the ongoing
> > > discussion I seem to understand that the driver core supports creating
> > > the attributes for us, possibly at the same time as the class device
> > > will be created. Would this solve the userspace timing issue?
> > >
> > This is what I had in mind as ultimate possibility when I created
> > the second API mentioned in my other e-mail.
> >
> > struct device *devm_hwmon_device_register(struct device *dev,
> > const struct attribute_group **groups)
> >
> > The attributes are still attached to dev (ie to the hardware device)
> > in my current code, but it should be possible to attach them to the
> > hwmon class device instead.
> >
> > Problem with that approach is that it makes drivers larger, not smaller,
> > at least if is_visible is needed. So it kind of defeats the purpose.
> >
> > We can go along that route anyway if people think it is the right or a better
> > approach, but I am not sure if it is worth it. I can send out the patches if
> > there is interest.
>
> Really, I don't know. All I know is that I do not have any time to
> devote to this ATM.
>
Hi Jean,
Can't help it. Worst case I learned how make better use of is_visible
and how to avoid its pitfalls.
Guenter
next prev parent reply other threads:[~2013-03-18 13:29 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-15 3:24 [RFC PATCH 0/2] fs: sysfs: Add devres support Guenter Roeck
2013-03-15 3:24 ` [RFC PATCH 1/2] fs: sysfs: Add support for devm_ functions Guenter Roeck
2013-03-15 3:24 ` [RFC PATCH 2/2] drivers/core: " Guenter Roeck
2013-03-16 16:21 ` [RFC PATCH 0/2] fs: sysfs: Add devres support Greg Kroah-Hartman
2013-03-16 18:12 ` [lm-sensors] " Guenter Roeck
2013-03-16 18:12 ` Guenter Roeck
2013-03-16 19:50 ` [lm-sensors] " Greg Kroah-Hartman
2013-03-16 19:50 ` Greg Kroah-Hartman
2013-03-16 21:25 ` [lm-sensors] " Guenter Roeck
2013-03-16 21:25 ` Guenter Roeck
2013-03-17 6:30 ` [lm-sensors] " Guenter Roeck
2013-03-17 6:30 ` Guenter Roeck
2013-03-17 12:39 ` Jean Delvare
2013-03-17 12:39 ` Jean Delvare
2013-03-17 13:19 ` Guenter Roeck
2013-03-17 13:19 ` Guenter Roeck
2013-03-17 14:54 ` Guenter Roeck
2013-03-17 14:54 ` Guenter Roeck
2013-03-18 8:02 ` Jean Delvare
2013-03-18 8:02 ` Jean Delvare
2013-03-18 13:29 ` Guenter Roeck [this message]
2013-03-18 13:29 ` Guenter Roeck
2013-11-22 22:47 ` Dmitry Torokhov
2013-11-22 22:53 ` Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130318132954.GA30482@roeck-us.net \
--to=linux@roeck-us.net \
--cc=gregkh@linuxfoundation.org \
--cc=khali@linux-fr.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lm-sensors@lm-sensors.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.