[PATCH v3 1/2] msm: gpio: Add v2 gpio support to MSM SoCs.

Pavan Kondeti pkondeti at codeaurora.org
Thu Nov 18 05:52:57 EST 2010


Hi Greg,

On Tue, Nov 16, 2010 at 01:38:35PM -0800, Gregory Bean wrote:
> Beginning with the MSM8x60, the hardware block responsible for gpio
> support changes.  Provide gpiolib support for the new v2 architecture.
> 
> Cc: Baruch Siach <baruch at tkos.co.il>
> Signed-off-by: Gregory Bean <gbean at codeaurora.org>
> +static int __devinit msm_gpio_probe(struct platform_device *dev)
> +{
> +	int ret;
> +
> +	spin_lock_init(&tlmm_lock);

Not required. DEFINE_SPINLOCK() would have initialized the spinlock.
> +	msm_gpio.label = dev->name;
> +	ret = gpiochip_add(&msm_gpio);
> +
> +	return ret;
> +}
> +
> +static int __devexit msm_gpio_remove(struct platform_device *dev)
> +{
> +	int ret = gpiochip_remove(&msm_gpio);
> +
> +	if (ret < 0)
> +		return ret;
> +
> +	set_irq_handler(TLMM_SCSS_SUMMARY_IRQ, NULL);
> +
> +	return 0;
> +}
> +
> +static struct platform_driver msm_gpio_driver = {
> +	.probe = msm_gpio_probe,
> +	.remove = __devexit_p(msm_gpio_remove),
> +	.driver = {
> +		.name = "msmgpio",
> +		.owner = THIS_MODULE,
> +	},
> +};
> +
> +static struct platform_device msm_device_gpio = {
> +	.name = "msmgpio",
> +	.id   = 0,
> +};
id = -1 right?
> +
> +static int __init msm_gpio_init(void)
> +{
> +	int rc;
> +
> +	rc = platform_driver_register(&msm_gpio_driver);
> +	if (rc == 0)
> +		rc = platform_device_register(&msm_device_gpio);

Should not we unregister the platform driver in case the above call returns
failure?
> +
> +	return rc;
> +}
> +
-- 
Sent by a consultant of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.




More information about the linux-arm-kernel mailing list