From: Ben Dooks Date: Sat, 9 Sep 2006 18:44:50 +0000 (+0100) Subject: [ARM] 3775/1: S3C24XX: do not add same sysdev_driver to two classes X-Git-Tag: v2.6.18-rc7~10^2~5 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=189e74ee9c18a5440511c5af525377c609d6ebbd;p=linux-2.6 [ARM] 3775/1: S3C24XX: do not add same sysdev_driver to two classes Patch from Ben Dooks The s3c244x-irq.c code makes the mistake of adding the same drive to two different sys-classes. This causes the class lists to become corrupted and the suspend code to OOPS. Signed-off-by: Ben Dooks Signed-off-by: Russell King --- diff --git a/arch/arm/mach-s3c2410/s3c244x-irq.c b/arch/arm/mach-s3c2410/s3c244x-irq.c index 74be83c412..44c5affa9b 100644 --- a/arch/arm/mach-s3c2410/s3c244x-irq.c +++ b/arch/arm/mach-s3c2410/s3c244x-irq.c @@ -119,21 +119,24 @@ static int s3c244x_irq_add(struct sys_device *sysdev) return 0; } -static struct sysdev_driver s3c244x_irq_driver = { +static struct sysdev_driver s3c2440_irq_driver = { .add = s3c244x_irq_add, }; static int s3c2440_irq_init(void) { - return sysdev_driver_register(&s3c2440_sysclass, &s3c244x_irq_driver); + return sysdev_driver_register(&s3c2440_sysclass, &s3c2440_irq_driver); } arch_initcall(s3c2440_irq_init); +static struct sysdev_driver s3c2442_irq_driver = { + .add = s3c244x_irq_add, +}; static int s3c2442_irq_init(void) { - return sysdev_driver_register(&s3c2442_sysclass, &s3c244x_irq_driver); + return sysdev_driver_register(&s3c2442_sysclass, &s3c2442_irq_driver); } arch_initcall(s3c2442_irq_init);