at91_mci: use generic GPIO calls
authorDavid Brownell <dbrownell@users.sourceforge.net>
Mon, 4 Feb 2008 17:12:48 +0000 (18:12 +0100)
committerPierre Ossman <drzeus@drzeus.cx>
Fri, 8 Feb 2008 08:02:47 +0000 (09:02 +0100)
commit6e996ee8e730a50eef51cdb072b166fe8f80831e
tree5cbe1dfe5dd33dead44c9f02d21dd78fd5b39b7e
parent541ceb5b8b4a90f7862ef24e4058fce520247827
at91_mci: use generic GPIO calls

Update the AT91 MMC driver to use the generic GPIO calls instead of the
AT91-specific calls; and to request (and release) those GPIO signals.

That required updating the probe() fault cleanup codepaths.  Now there
is a single sequence for freeing resources, in reverse order of their
allocation.  Also that code uses use dev_*() for messaging, and has less
abuse of KERN_ERR.

Likewise with updating remove() cleanup.  This had to free the GPIOs,
and while adding that code I noticed and fixed two other problems:  it
was poking at a workqueue owned by the mmc core; and in one (rare)
case would try freeing an IRQ that it didn't allocate.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
drivers/mmc/host/at91_mci.c