ARM: at91: Register the poweroff driver
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Thu, 3 Jul 2014 12:39:43 +0000 (14:39 +0200)
committerNicolas Ferre <nicolas.ferre@atmel.com>
Mon, 25 Aug 2014 14:25:28 +0000 (16:25 +0200)
Register the poweroff driver in the old-style SoC definition so that the driver
is loaded and provide a shutdown hook.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
arch/arm/mach-at91/at91sam9260.c
arch/arm/mach-at91/at91sam9261.c
arch/arm/mach-at91/at91sam9263.c
arch/arm/mach-at91/at91sam9g45.c
arch/arm/mach-at91/at91sam9rl.c

index 00e4e5b..601f2c7 100644 (file)
@@ -381,9 +381,24 @@ static struct platform_device rstc_device = {
        .num_resources  = ARRAY_SIZE(rstc_resources),
 };
 
+static struct resource shdwc_resources[] = {
+       [0] = {
+               .start  = AT91SAM9260_BASE_SHDWC,
+               .end    = AT91SAM9260_BASE_SHDWC + SZ_16 - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device shdwc_device = {
+       .name           = "at91-poweroff",
+       .resource       = shdwc_resources,
+       .num_resources  = ARRAY_SIZE(shdwc_resources),
+};
+
 static void __init at91sam9260_register_devices(void)
 {
        platform_device_register(&rstc_device);
+       platform_device_register(&shdwc_device);
 }
 
 /* --------------------------------------------------------------------
index 43db1bd..5e8ac0d 100644 (file)
@@ -340,9 +340,24 @@ static struct platform_device rstc_device = {
        .num_resources  = ARRAY_SIZE(rstc_resources),
 };
 
+static struct resource shdwc_resources[] = {
+       [0] = {
+               .start  = AT91SAM9261_BASE_SHDWC,
+               .end    = AT91SAM9261_BASE_SHDWC + SZ_16 - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device shdwc_device = {
+       .name           = "at91-poweroff",
+       .resource       = shdwc_resources,
+       .num_resources  = ARRAY_SIZE(shdwc_resources),
+};
+
 static void __init at91sam9261_register_devices(void)
 {
        platform_device_register(&rstc_device);
+       platform_device_register(&shdwc_device);
 }
 
 /* --------------------------------------------------------------------
index 358e762..bcc8b04 100644 (file)
@@ -363,9 +363,24 @@ static struct platform_device rstc_device = {
        .num_resources  = ARRAY_SIZE(rstc_resources),
 };
 
+static struct resource shdwc_resources[] = {
+       [0] = {
+               .start  = AT91SAM9263_BASE_SHDWC,
+               .end    = AT91SAM9263_BASE_SHDWC + SZ_16 - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device shdwc_device = {
+       .name           = "at91-poweroff",
+       .resource       = shdwc_resources,
+       .num_resources  = ARRAY_SIZE(shdwc_resources),
+};
+
 static void __init at91sam9263_register_devices(void)
 {
        platform_device_register(&rstc_device);
+       platform_device_register(&shdwc_device);
 }
 
 /* --------------------------------------------------------------------
index 9b55b7d..665d378 100644 (file)
@@ -417,9 +417,24 @@ static struct platform_device rstc_device = {
        .num_resources  = ARRAY_SIZE(rstc_resources),
 };
 
+static struct resource shdwc_resources[] = {
+       [0] = {
+               .start  = AT91SAM9G45_BASE_SHDWC,
+               .end    = AT91SAM9G45_BASE_SHDWC + SZ_16 - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device shdwc_device = {
+       .name           = "at91-poweroff",
+       .resource       = shdwc_resources,
+       .num_resources  = ARRAY_SIZE(shdwc_resources),
+};
+
 static void __init at91sam9g45_register_devices(void)
 {
        platform_device_register(&rstc_device);
+       platform_device_register(&shdwc_device);
 }
 
 /* --------------------------------------------------------------------
index d43d28e..5a18a76 100644 (file)
@@ -351,9 +351,24 @@ static struct platform_device rstc_device = {
        .num_resources  = ARRAY_SIZE(rstc_resources),
 };
 
+static struct resource shdwc_resources[] = {
+       [0] = {
+               .start  = AT91SAM9RL_BASE_SHDWC,
+               .end    = AT91SAM9RL_BASE_SHDWC + SZ_16 - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+};
+
+static struct platform_device shdwc_device = {
+       .name           = "at91-poweroff",
+       .resource       = shdwc_resources,
+       .num_resources  = ARRAY_SIZE(shdwc_resources),
+};
+
 static void __init at91sam9rl_register_devices(void)
 {
        platform_device_register(&rstc_device);
+       platform_device_register(&shdwc_device);
 }
 
 /* --------------------------------------------------------------------