[PATCH v2] gpio/omap: add *remove* callback in platform_driver

Shilimkar, Santosh santosh.shilimkar at ti.com
Wed Aug 8 10:03:12 EDT 2012


On Wed, Aug 8, 2012 at 7:28 PM, Tarun Kanti DebBarma <tarun.kanti at ti.com> wrote:
> Add *remove* callback so that necessary cleanup operations are
> performed when device is unregistered. The device is deleted
> from the list and associated clock handle is released by
> calling clk_put() and irq descriptor is released using the
> irq_free_desc() api.
>
> Signed-off-by: Tarun Kanti DebBarma <tarun.kanti at ti.com>
> Reported-by: Paul Walmsley <paul at pwsan.com>
> Reviewed-by: Jon Hunter <jon-hunter at ti.com>
> Cc: Kevin Hilman <khilman at ti.com>
> Cc: Rajendra Nayak <rnayak at ti.com>
> Cc: Santosh Shilimkar <santosh.shilimkar at ti.com>
> Cc: Cousson, Benoit <b-cousson at ti.com>
> Cc: Paul Walmsley <paul at pwsan.com>
> ---
> v2:
> Baseline: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
> Commit: 0d7614f09c1ebdbaa1599a5aba7593f147bf96ee (Linux 3.6-rc1)
>
> (1) Use irq_free_descs() instead of irq_free_desc().
>     Besides, irq_free_desc() was using wrong parameter,
>     irq_base, instead of bank->irq.
> (2) irq_free_descs() moved outside spin_lock/unlock_*()
>     in order to avoid exception warnings.
>
> (3) pm_runtime_disable() added so that bind can happen successfully
>
> Test Detail:
> Step 1: Unbind gpio.5 device in order to invoke the *remove* callback.
> #echo "omap_gpio.5" > sys/bus/platform/drivers/omap_gpio/unbind
>
> Step 2: Bind gpio.5 device and confirm probe() for the device succeeds.
> #echo "omap_gpio.5" > sys/bus/platform/drivers/omap_gpio/bind
>
> Step 3: Execute read/write GPIO test case.
>
Thanks details about test. Whe  you to "Unbind->bind", do
you see that PM is not broken.

In other words, can you also test and ensure that the OMAP3 suspend and
CPUIDLE are not broken because of this patch.
PER and CORE domains should transition to low power states.

Regards
Santosh



More information about the linux-arm-kernel mailing list