Re: Fwd: Re: unbind/bind w1-gpio with device tree produce a crash

From: Ingo Flaschberger
Date: Thu Mar 05 2015 - 06:54:56 EST


Dear Markus,

Am 05.03.2015 um 08:35 schrieb Markus Pargmann:
Good point. The easy way to solve this may be to check in the remove
function if the devicetree node for this device is available. If it is,
we know that platform_data was allocated with devm_* and we can set
platform_data to NULL.

I think the better solution would be to create a private structure with
the same data as w1_gpio_platform_data. It may even use the same struct.
But it should not be stored in platform_data. Instead it should be
handled seperately. For DT we can allocate it using devm_kzalloc(). And
for probing with pdata, this could just be the pointer to the pdata
within the device struct.




Could you give me more details about the "private structure" idea, perhaps off-list?

The backup method via w1_gpio_*_orig collides when more than 1 bus is used, this data could be stored in the private structure too.

Kind regards,
Ingo Flaschberger

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/