On Thu, 2018-04-26 at 03:34 +0100, Javier Arteaga wrote: > On Wed, Apr 25, 2018 at 07:15:45PM +0300, Andy Shevchenko wrote: > > On Sat, 2018-04-21 at 09:50 +0100, Javier Arteaga wrote: > > > +static int __init upboard_led_probe(struct platform_device *pdev) > > > > Are you sure about __init here? > > Not 100% now :) > > My understanding was that in this context, __init allows this probe() > to > be dropped from memory after module load. > > What am I doing wrong there? Just give another thought about it. The keyword(s) here is(are): time to live of the objects in question. It's good to get knowing what unbind- bind means (for built-in drivers). > > > + struct upboard_led_data * const pdata = pdev- > > > > dev.platform_data; > > > > Don't use direct dereference to platform_data. > > Sorry, I don't understand this one. What's the alternative? See other drivers how they do that stuff. Hint: check inline functions in include/linux/device.h. -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html