Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit da81c3b9 authored by Rob Herring's avatar Rob Herring Committed by Grant Likely
Browse files

of: Fixes for OF probing on little endian systems



Fixes for sdhci-of and ipmi drivers.

Auditing all drivers using of_get_property did not find other
occurrences likely to be used on LE platforms.

Signed-off-by: default avatarRob Herring <rob.herring@calxeda.com>
Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
parent 236cdc7b
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -2546,7 +2546,7 @@ static int __devinit ipmi_of_probe(struct platform_device *dev,
{
	struct smi_info *info;
	struct resource resource;
	const int *regsize, *regspacing, *regshift;
	const __be32 *regsize, *regspacing, *regshift;
	struct device_node *np = dev->dev.of_node;
	int ret;
	int proplen;
@@ -2599,9 +2599,9 @@ static int __devinit ipmi_of_probe(struct platform_device *dev,

	info->io.addr_data	= resource.start;

	info->io.regsize	= regsize ? *regsize : DEFAULT_REGSIZE;
	info->io.regspacing	= regspacing ? *regspacing : DEFAULT_REGSPACING;
	info->io.regshift	= regshift ? *regshift : 0;
	info->io.regsize	= regsize ? be32_to_cpup(regsize) : DEFAULT_REGSIZE;
	info->io.regspacing	= regspacing ? be32_to_cpup(regspacing) : DEFAULT_REGSPACING;
	info->io.regshift	= regshift ? be32_to_cpup(regshift) : 0;

	info->irq		= irq_of_parse_and_map(dev->dev.of_node, 0);
	info->dev		= &dev->dev;
+2 −2
Original line number Diff line number Diff line
@@ -122,7 +122,7 @@ static int __devinit sdhci_of_probe(struct platform_device *ofdev,
	struct sdhci_of_data *sdhci_of_data = match->data;
	struct sdhci_host *host;
	struct sdhci_of_host *of_host;
	const u32 *clk;
	const __be32 *clk;
	int size;
	int ret;

@@ -166,7 +166,7 @@ static int __devinit sdhci_of_probe(struct platform_device *ofdev,

	clk = of_get_property(np, "clock-frequency", &size);
	if (clk && size == sizeof(*clk) && *clk)
		of_host->clock = *clk;
		of_host->clock = be32_to_cpup(clk);

	ret = sdhci_add_host(host);
	if (ret)