mmc: pxamci: make GPIO lookups from pdata optional
authorDaniel Mack <daniel@zonque.org>
Tue, 3 Jul 2018 20:10:26 +0000 (22:10 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 16 Jul 2018 09:21:45 +0000 (11:21 +0200)
commit38a8dda908683c30bcabe7e03a3418aaf2022f5f
treef2dab04f77d62faa801da213cba7f154b9b125e1
parent61951fd6cb49593c57da22b780ab9114060032d4
mmc: pxamci: make GPIO lookups from pdata optional

A recent commit introduced a call to mmc_of_parse() and removed the
explicit assignment of GPIOs in the pdata structure. This will leave
them set to 0, which is a valid GPIO per se, so the code that looks
at these members will try to allocate them and fail.

To fix this properly, make the following changes:

a) Refrain from allocating and assiging a pdata struct from
   pxamci_of_init(). It's a hack to do it this way anyway.
   Instead, move the only remaining member of interest in
   'struct pxamci_host' and assign the value from either
   the passed in pdata pointer or with the value read from DT.

b) Let the only user of 'detect_delay_ms' look at the member of
   'struct pxamci_host', not the pdata.

c) Make more code in pxamci_probe() dependent on the presence of
   actual pdata.

This will also ease the removal of pdata one day.

Signed-off-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/pxamci.c