Messages in this thread | | | Date | Wed, 17 Jul 2013 13:46:50 +0200 | From | Maxime Ripard <> | Subject | Re: [linux-sunxi] Re: [PATCH 1/2] Initial support for Allwinner's Security ID fuses |
| |
On Mon, Jul 15, 2013 at 11:41:07PM -0700, Greg KH wrote: > On Mon, Jul 15, 2013 at 11:16:19PM +0200, Oliver Schinagl wrote: > > So using these new patches for binary attributes, how can I pass data > > between my driver and the sysfs files using a platform_driver? Or are > > other 'hacks' needed and using the .groups attribute from > > platform_driver->device_driver->groups is really the wrong approach. > > > > I did ask around and still haven't figured it out so far, so I do > > apologize if you feel I'm wasting your precious time. > > How is the platform device not the same thing that was passed to your > probe function?
One thing I don't get here is why it should be set in the platform_driver structure. From my understanding of the device model, and since what Oliver is trying to do is exposing a few bytes of memory to sysfs, shouldn't the sysfs file be attached to the device instead?
I mean, here, the sysfs file will be created under something like .../drivers/sunxi-sid/eeprom. What happens when you have several instances of that driver loaded? I'd expect it to have several sysfs files created, one for each instance. So to me, it should be in the device structure, not the driver one.
Couldn't that be also the reason of Oliver's NULL pointer? If the kobj is attached to the platform_driver and not to the platform_device, it should definitely get nasty when we try to cast it and retrieve data from it (and that would match the different pointers stuff as well.)
Maxime
-- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com [unhandled content-type:application/pgp-signature] | |