[lm-sensors] [PATCH v6 3/3] gpio: TS-5500 GPIO support

Mark Brown broonie at opensource.wolfsonmicro.com
Fri Apr 13 21:04:42 CEST 2012


On Thu, Apr 12, 2012 at 08:28:55PM -0400, Vivien Didelot wrote:

Guess I won't wait for a more thorough off list review :)

> +static void ts5500_gpio_release(struct device *dev)
> +{
> +	/* noop */
> +}

So, this really shouldn't be here...

> +static int __devinit ts5500_gpio_probe(struct platform_device *pdev)
> +{
> +	int ret;
> +	unsigned long flags;
> +
> +	if (pdev == NULL)
> +		return -ENODEV;

Don't bother, the kernel got seriously confused if this happens.

> +	ret = platform_device_register(&ts5500_gpio_pdev);
> +	if (ret) {
> +		platform_driver_unregister(&ts5500_gpio_driver);
> +		return ret;
> +	}

...probably what your release function should do is free the device
which should be dynamically allocated here, platform_device_alloc() will
do the right thing for you.  This isn't usually an issue for static
platform devices as they are registered from board files which can't be
unloaded.




More information about the lm-sensors mailing list