On Fri, Aug 12, 2011 at 03:56:24PM +0530, Abhilash Kesavan wrote: > +ENTRY(s3c_cpu_resume) > +#if defined(CONFIG_S3C_PM_DEBUG_LED_SMDK) > + > +#undef S3C64XX_VA_GPIO > +#define S3C64XX_VA_GPIO (0x0) > +#define S3C64XX_GPNCON (S3C64XX_GPN_BASE + 0x00) > +#define S3C64XX_GPNDAT (S3C64XX_GPN_BASE + 0x04) > + > +#define S3C64XX_GPN_CONMASK(__gpio) (0x3 << ((__gpio) * 2)) > +#define S3C64XX_GPN_OUTPUT(__gpio) (0x1 << ((__gpio) * 2)) > + > + /* Initialise the GPIO state if we are debugging via the SMDK LEDs, > + * as the uboot version supplied resets these to inputs during the > + * resume checks. > + */ > + > + ldr r3, =S3C64XX_PA_GPIO > + ldr r0, [ r3, #S3C64XX_GPNCON ] > + bic r0, r0, #(S3C64XX_GPN_CONMASK(12) | S3C64XX_GPN_CONMASK(13) | \ > + S3C64XX_GPN_CONMASK(14) | S3C64XX_GPN_CONMASK(15)) > + orr r0, r0, #(S3C64XX_GPN_OUTPUT(12) | S3C64XX_GPN_OUTPUT(13) | \ > + S3C64XX_GPN_OUTPUT(14) | S3C64XX_GPN_OUTPUT(15)) > + str r0, [ r3, #S3C64XX_GPNCON ] > + > + ldr r0, [ r3, #S3C64XX_GPNDAT ] > + bic r0, r0, #0xf << 12 @ GPN12..15 > + orr r0, r0, #1 << 15 @ GPN15 > + str r0, [ r3, #S3C64XX_GPNDAT ] > +#endif This is incompatible with the aim of a single kernel booting on many ARM platforms. Rather than consolidating down to just one implementation, how about consolidating to two - one for everything but SMDK, and one for the SMDK with the LED stuff. You can then chose which you want - either the s3c_generic_resume (which is just the magic code plus the branch) or s3c_smdk_leds_resume (which would be the magic code plus the LEDS stuff plus the branch.) -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html