diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/common/locomo.c | 11 | ||||
-rw-r--r-- | arch/arm/common/sa1111.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/neponset.c | 15 | ||||
-rw-r--r-- | arch/ppc/syslib/mv64x60.c | 1 | ||||
-rw-r--r-- | arch/s390/kernel/ipl.c | 2 |
5 files changed, 20 insertions, 22 deletions
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c index cfe6f4650bc9..ae21755872ed 100644 --- a/arch/arm/common/locomo.c +++ b/arch/arm/common/locomo.c | |||
@@ -60,6 +60,9 @@ struct locomo { | |||
60 | unsigned int irq; | 60 | unsigned int irq; |
61 | spinlock_t lock; | 61 | spinlock_t lock; |
62 | void __iomem *base; | 62 | void __iomem *base; |
63 | #ifdef CONFIG_PM | ||
64 | void *saved_state; | ||
65 | #endif | ||
63 | }; | 66 | }; |
64 | 67 | ||
65 | struct locomo_dev_info { | 68 | struct locomo_dev_info { |
@@ -565,7 +568,7 @@ static int locomo_suspend(struct platform_device *dev, pm_message_t state) | |||
565 | if (!save) | 568 | if (!save) |
566 | return -ENOMEM; | 569 | return -ENOMEM; |
567 | 570 | ||
568 | dev->dev.power.saved_state = (void *) save; | 571 | lchip->saved_state = save; |
569 | 572 | ||
570 | spin_lock_irqsave(&lchip->lock, flags); | 573 | spin_lock_irqsave(&lchip->lock, flags); |
571 | 574 | ||
@@ -605,8 +608,8 @@ static int locomo_resume(struct platform_device *dev) | |||
605 | struct locomo_save_data *save; | 608 | struct locomo_save_data *save; |
606 | unsigned long r; | 609 | unsigned long r; |
607 | unsigned long flags; | 610 | unsigned long flags; |
608 | 611 | ||
609 | save = (struct locomo_save_data *) dev->dev.power.saved_state; | 612 | save = lchip->saved_state; |
610 | if (!save) | 613 | if (!save) |
611 | return 0; | 614 | return 0; |
612 | 615 | ||
@@ -628,6 +631,8 @@ static int locomo_resume(struct platform_device *dev) | |||
628 | locomo_writel(0x1, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KCMD); | 631 | locomo_writel(0x1, lchip->base + LOCOMO_KEYBOARD + LOCOMO_KCMD); |
629 | 632 | ||
630 | spin_unlock_irqrestore(&lchip->lock, flags); | 633 | spin_unlock_irqrestore(&lchip->lock, flags); |
634 | |||
635 | lchip->saved_state = NULL; | ||
631 | kfree(save); | 636 | kfree(save); |
632 | 637 | ||
633 | return 0; | 638 | return 0; |
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 798bbfccafb7..eb06d0b2cb74 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c | |||
@@ -51,6 +51,9 @@ struct sa1111 { | |||
51 | int irq; | 51 | int irq; |
52 | spinlock_t lock; | 52 | spinlock_t lock; |
53 | void __iomem *base; | 53 | void __iomem *base; |
54 | #ifdef CONFIG_PM | ||
55 | void *saved_state; | ||
56 | #endif | ||
54 | }; | 57 | }; |
55 | 58 | ||
56 | /* | 59 | /* |
@@ -822,7 +825,7 @@ static int sa1111_suspend(struct platform_device *dev, pm_message_t state) | |||
822 | save = kmalloc(sizeof(struct sa1111_save_data), GFP_KERNEL); | 825 | save = kmalloc(sizeof(struct sa1111_save_data), GFP_KERNEL); |
823 | if (!save) | 826 | if (!save) |
824 | return -ENOMEM; | 827 | return -ENOMEM; |
825 | dev->dev.power.saved_state = save; | 828 | sachip->saved_state = save; |
826 | 829 | ||
827 | spin_lock_irqsave(&sachip->lock, flags); | 830 | spin_lock_irqsave(&sachip->lock, flags); |
828 | 831 | ||
@@ -878,7 +881,7 @@ static int sa1111_resume(struct platform_device *dev) | |||
878 | unsigned long flags, id; | 881 | unsigned long flags, id; |
879 | void __iomem *base; | 882 | void __iomem *base; |
880 | 883 | ||
881 | save = (struct sa1111_save_data *)dev->dev.power.saved_state; | 884 | save = sachip->saved_state; |
882 | if (!save) | 885 | if (!save) |
883 | return 0; | 886 | return 0; |
884 | 887 | ||
@@ -923,7 +926,7 @@ static int sa1111_resume(struct platform_device *dev) | |||
923 | 926 | ||
924 | spin_unlock_irqrestore(&sachip->lock, flags); | 927 | spin_unlock_irqrestore(&sachip->lock, flags); |
925 | 928 | ||
926 | dev->dev.power.saved_state = NULL; | 929 | sachip->saved_state = NULL; |
927 | kfree(save); | 930 | kfree(save); |
928 | 931 | ||
929 | return 0; | 932 | return 0; |
@@ -958,8 +961,8 @@ static int sa1111_remove(struct platform_device *pdev) | |||
958 | platform_set_drvdata(pdev, NULL); | 961 | platform_set_drvdata(pdev, NULL); |
959 | 962 | ||
960 | #ifdef CONFIG_PM | 963 | #ifdef CONFIG_PM |
961 | kfree(pdev->dev.power.saved_state); | 964 | kfree(sachip->saved_state); |
962 | pdev->dev.power.saved_state = NULL; | 965 | sachip->saved_state = NULL; |
963 | #endif | 966 | #endif |
964 | } | 967 | } |
965 | 968 | ||
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c index 4cbf9468f654..3a0a1ee2542d 100644 --- a/arch/arm/mach-sa1100/neponset.c +++ b/arch/arm/mach-sa1100/neponset.c | |||
@@ -185,28 +185,21 @@ static int __devinit neponset_probe(struct platform_device *dev) | |||
185 | /* | 185 | /* |
186 | * LDM power management. | 186 | * LDM power management. |
187 | */ | 187 | */ |
188 | static unsigned int neponset_saved_state; | ||
189 | |||
188 | static int neponset_suspend(struct platform_device *dev, pm_message_t state) | 190 | static int neponset_suspend(struct platform_device *dev, pm_message_t state) |
189 | { | 191 | { |
190 | /* | 192 | /* |
191 | * Save state. | 193 | * Save state. |
192 | */ | 194 | */ |
193 | if (!dev->dev.power.saved_state) | 195 | neponset_saved_state = NCR_0; |
194 | dev->dev.power.saved_state = kmalloc(sizeof(unsigned int), GFP_KERNEL); | ||
195 | if (!dev->dev.power.saved_state) | ||
196 | return -ENOMEM; | ||
197 | |||
198 | *(unsigned int *)dev->dev.power.saved_state = NCR_0; | ||
199 | 196 | ||
200 | return 0; | 197 | return 0; |
201 | } | 198 | } |
202 | 199 | ||
203 | static int neponset_resume(struct platform_device *dev) | 200 | static int neponset_resume(struct platform_device *dev) |
204 | { | 201 | { |
205 | if (dev->dev.power.saved_state) { | 202 | NCR_0 = neponset_saved_state; |
206 | NCR_0 = *(unsigned int *)dev->dev.power.saved_state; | ||
207 | kfree(dev->dev.power.saved_state); | ||
208 | dev->dev.power.saved_state = NULL; | ||
209 | } | ||
210 | 203 | ||
211 | return 0; | 204 | return 0; |
212 | } | 205 | } |
diff --git a/arch/ppc/syslib/mv64x60.c b/arch/ppc/syslib/mv64x60.c index 8485a68cd475..032f4b7f4225 100644 --- a/arch/ppc/syslib/mv64x60.c +++ b/arch/ppc/syslib/mv64x60.c | |||
@@ -2415,7 +2415,6 @@ static struct bin_attribute mv64xxx_hs_reg_attr = { /* Hotswap register */ | |||
2415 | .attr = { | 2415 | .attr = { |
2416 | .name = "hs_reg", | 2416 | .name = "hs_reg", |
2417 | .mode = S_IRUGO | S_IWUSR, | 2417 | .mode = S_IRUGO | S_IWUSR, |
2418 | .owner = THIS_MODULE, | ||
2419 | }, | 2418 | }, |
2420 | .size = VAL_LEN_MAX, | 2419 | .size = VAL_LEN_MAX, |
2421 | .read = mv64xxx_hs_reg_read, | 2420 | .read = mv64xxx_hs_reg_read, |
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c index 82b131ddd7ff..9a13b24ee1ab 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c | |||
@@ -312,7 +312,6 @@ static struct bin_attribute ipl_parameter_attr = { | |||
312 | .attr = { | 312 | .attr = { |
313 | .name = "binary_parameter", | 313 | .name = "binary_parameter", |
314 | .mode = S_IRUGO, | 314 | .mode = S_IRUGO, |
315 | .owner = THIS_MODULE, | ||
316 | }, | 315 | }, |
317 | .size = PAGE_SIZE, | 316 | .size = PAGE_SIZE, |
318 | .read = &ipl_parameter_read, | 317 | .read = &ipl_parameter_read, |
@@ -336,7 +335,6 @@ static struct bin_attribute ipl_scp_data_attr = { | |||
336 | .attr = { | 335 | .attr = { |
337 | .name = "scp_data", | 336 | .name = "scp_data", |
338 | .mode = S_IRUGO, | 337 | .mode = S_IRUGO, |
339 | .owner = THIS_MODULE, | ||
340 | }, | 338 | }, |
341 | .size = PAGE_SIZE, | 339 | .size = PAGE_SIZE, |
342 | .read = &ipl_scp_data_read, | 340 | .read = &ipl_scp_data_read, |