On 05/19/2017 04:23 AM, Ulf Hansson wrote:
On 18 May 2017 at 00:17, David Woods <dwoods@xxxxxxxxxxxx> wrote:
Using the device_property interfaces allows mmc drivers to work
on platforms which run on either device tree or ACPI.
Signed-off-by: David Woods <dwoods@xxxxxxxxxxxx>
Reviewed-by: Chris Metcalf <cmetcalf@xxxxxxxxxxxx>
Cc: stable@xxxxxxxxxxxxxx
---
drivers/mmc/core/host.c | 72 ++++++++++++++++++++++++-------------------------
1 file changed, 35 insertions(+), 37 deletions(-)
diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
index 3f8c85d..d2c059e 100644
--- a/drivers/mmc/core/host.c
+++ b/drivers/mmc/core/host.c
@@ -176,19 +176,17 @@ static void mmc_retune_timer(unsigned long data)
*/
int mmc_of_parse(struct mmc_host *host)
{
- struct device_node *np;
+ struct device *dev = host->parent;
u32 bus_width;
int ret;
bool cd_cap_invert, cd_gpio_invert = false;
bool ro_cap_invert, ro_gpio_invert = false;
- if (!host->parent || !host->parent->of_node)
+ if (!dev)
return 0;
So earlier we stopped executing the OF parsing at this point, unless
we had valid a of_node pointer. To be safe, I think we need to do
something similar here.
In other words, perhaps check the result from dev_fwnode(), before continue.
I will add that check.
[...]
mmc_pwrseq_alloc() is called from mmc_of_parse() which currently only
supports OF parsing. I assume you would like to convert that as well?
Perhaps that should even be the first step?
Our board does not have a power sequence device, so this is not
something I have the hardware available to test. It's not very clear to
me how a pwrseq reference would be represented in ACPI or how to access
it with the device_property API. As it is, of_parse_phandle just
returns NULL in the case where there is no parent->of_node.
-David Woods
Kind regards
Uffe
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html