3.4-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Mark Brown <[email protected]>

commit bee6e1fa617b1fb7f6f91033428410e05f5ab0ed upstream.

The removal of mach/io.h from most ARM platforms also set the range of
valid IO ports to be empty for most platforms when previously any 32
bit integer had been valid. This makes it impossible to add IO resources
as the added range is smaller than that of the root resource for IO ports.

Since we're not really using IO memory at all fix this by defining our
own root resource outside the normal tree and make that the parent of
all IO resources. This also ensures we won't conflict with read IO ports
if we ever run on a platform which happens to use them.

Signed-off-by: Mark Brown <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Acked-by: Haojian Zhuang <[email protected]>
Tested-by: Haojian Zhuang <[email protected]>
Signed-off-by: Samuel Ortiz <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/mfd/max8925-core.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

--- a/drivers/mfd/max8925-core.c
+++ b/drivers/mfd/max8925-core.c
@@ -18,12 +18,19 @@
 #include <linux/mfd/core.h>
 #include <linux/mfd/max8925.h>
 
+static struct resource io_parent = {
+       .start = 0,
+       .end   = 0xffffffff,
+       .flags = IORESOURCE_IO,
+};
+
 static struct resource backlight_resources[] = {
        {
                .name   = "max8925-backlight",
                .start  = MAX8925_WLED_MODE_CNTL,
                .end    = MAX8925_WLED_CNTL,
                .flags  = IORESOURCE_IO,
+               .parent = &io_parent,
        },
 };
 
@@ -42,6 +49,7 @@ static struct resource touch_resources[]
                .start  = MAX8925_TSC_IRQ,
                .end    = MAX8925_ADC_RES_END,
                .flags  = IORESOURCE_IO,
+               .parent = &io_parent,
        },
 };
 
@@ -60,6 +68,7 @@ static struct resource power_supply_reso
                .start  = MAX8925_CHG_IRQ1,
                .end    = MAX8925_CHG_IRQ1_MASK,
                .flags  = IORESOURCE_IO,
+               .parent = &io_parent,
        },
 };
 
@@ -118,6 +127,7 @@ static struct mfd_cell onkey_devs[] = {
        .start  = MAX8925_##_start,             \
        .end    = MAX8925_##_end,               \
        .flags  = IORESOURCE_IO,                \
+       .parent = &io_parent,                   \
 }
 
 static struct resource regulator_resources[] = {


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to