Hi, * Koen Kooi <koen@xxxxxxxxxxxxxxxxxxxxx> [110527 06:28]: > > @@ -123,9 +126,13 @@ static void __init omap3_beagle_init_rev(void) > printk(KERN_INFO "OMAP3 Beagle Rev: xM\n"); > omap3_beagle_version = OMAP3BEAGLE_BOARD_XM; > break; > + case 2: > + printk(KERN_INFO "OMAP3 Beagle Rev: xM\n"); > + omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC; > + break; > default: > printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev); > - omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN; > + omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC; > } > } Maybe just set up static struct omap3_beagle that contains the various things to initialize. Then initialize it in omap3_beagle_init_rev above. Otherwise we'll end up adding more and more omap3_beagle_get_rev and cpu_is_omap tests to this file and it will become hard to maintain. > @@ -253,7 +260,7 @@ static int beagle_twl_gpio_setup(struct device *dev, > { > int r, usb_pwr_level; > > - if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) { > + if (cpu_is_omap3630()) { > mmc[0].gpio_wp = -EINVAL; > } else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) || > (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C4)) { This would become: mmc[0].gpio_wp = beagle.gpio_wp; > @@ -275,11 +282,10 @@ static int beagle_twl_gpio_setup(struct device *dev, > * high / others active low) > * DVI reset GPIO is different between beagle revisions > */ > - if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) { > - usb_pwr_level = GPIOF_OUT_INIT_HIGH; > + if (cpu_is_omap3630()) { > beagle_dvi_device.reset_gpio = 129; > /* > - * gpio + 1 on Xm controls the TFP410's enable line (active low) > + * gpio + 1 on xM controls the TFP410's enable line (active low) > * gpio + 2 control varies depending on the board rev as below: > * P7/P8 revisions(prototype): Camera EN > * A2+ revisions (production): LDO (DVI, serial, led blocks) This would be just: usb_pwr_level = beagle.usb_pwr_level; And so on. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html