Merge branch 'rmobile-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6

* 'rmobile-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6:
mmc: Add MMC_PROGRESS_*
mmc, ARM: Rename SuperH Mobile ARM zboot helpers
ARM: mach-shmobile: add coherent DMA mask to CEU camera devices
ARM: mach-shmobile: Dynamic backlight control for Mackerel

+59 -32
+7 -6
arch/arm/boot/compressed/mmcif-sh7372.c
··· 10 10 */ 11 11 12 12 #include <linux/mmc/sh_mmcif.h> 13 - #include <mach/mmcif.h> 13 + #include <linux/mmc/boot.h> 14 + #include <mach/mmc.h> 14 15 15 16 #define MMCIF_BASE (void __iomem *)0xe6bd0000 16 17 ··· 42 41 */ 43 42 asmlinkage void mmcif_loader(unsigned char *buf, unsigned long len) 44 43 { 45 - mmcif_init_progress(); 46 - mmcif_update_progress(MMCIF_PROGRESS_ENTER); 44 + mmc_init_progress(); 45 + mmc_update_progress(MMC_PROGRESS_ENTER); 47 46 48 47 /* Initialise MMC 49 48 * registers: PORT84CR-PORT92CR ··· 69 68 /* Enable clock to MMC hardware block */ 70 69 __raw_writel(__raw_readl(SMSTPCR3) & ~(1 << 12), SMSTPCR3); 71 70 72 - mmcif_update_progress(MMCIF_PROGRESS_INIT); 71 + mmc_update_progress(MMC_PROGRESS_INIT); 73 72 74 73 /* setup MMCIF hardware */ 75 74 sh_mmcif_boot_init(MMCIF_BASE); 76 75 77 - mmcif_update_progress(MMCIF_PROGRESS_LOAD); 76 + mmc_update_progress(MMC_PROGRESS_LOAD); 78 77 79 78 /* load kernel via MMCIF interface */ 80 79 sh_mmcif_boot_do_read(MMCIF_BASE, 2, /* Kernel is at block 2 */ ··· 84 83 /* Disable clock to MMC hardware block */ 85 84 __raw_writel(__raw_readl(SMSTPCR3) & (1 << 12), SMSTPCR3); 86 85 87 - mmcif_update_progress(MMCIF_PROGRESS_DONE); 86 + mmc_update_progress(MMC_PROGRESS_DONE); 88 87 }
+2 -1
arch/arm/mach-shmobile/board-ap4evb.c
··· 923 923 .num_resources = ARRAY_SIZE(ceu_resources), 924 924 .resource = ceu_resources, 925 925 .dev = { 926 - .platform_data = &sh_mobile_ceu_info, 926 + .platform_data = &sh_mobile_ceu_info, 927 + .coherent_dma_mask = 0xffffffff, 927 928 }, 928 929 }; 929 930
+23 -2
arch/arm/mach-shmobile/board-mackerel.c
··· 295 295 }, 296 296 }; 297 297 298 + static int mackerel_set_brightness(void *board_data, int brightness) 299 + { 300 + gpio_set_value(GPIO_PORT31, brightness); 301 + 302 + return 0; 303 + } 304 + 305 + static int mackerel_get_brightness(void *board_data) 306 + { 307 + return gpio_get_value(GPIO_PORT31); 308 + } 309 + 298 310 static struct sh_mobile_lcdc_info lcdc_info = { 299 311 .clock_source = LCDC_CLK_BUS, 300 312 .ch[0] = { ··· 319 307 .flags = 0, 320 308 .lcd_size_cfg.width = 152, 321 309 .lcd_size_cfg.height = 91, 310 + .board_cfg = { 311 + .set_brightness = mackerel_set_brightness, 312 + .get_brightness = mackerel_get_brightness, 313 + }, 314 + .bl_info = { 315 + .name = "sh_mobile_lcdc_bl", 316 + .max_brightness = 1, 317 + }, 322 318 } 323 319 }; 324 320 ··· 921 901 .num_resources = ARRAY_SIZE(ceu_resources), 922 902 .resource = ceu_resources, 923 903 .dev = { 924 - .platform_data = &sh_mobile_ceu_info, 904 + .platform_data = &sh_mobile_ceu_info, 905 + .coherent_dma_mask = 0xffffffff, 925 906 }, 926 907 }; 927 908 ··· 1080 1059 gpio_request(GPIO_FN_LCDDCK, NULL); 1081 1060 1082 1061 gpio_request(GPIO_PORT31, NULL); /* backlight */ 1083 - gpio_direction_output(GPIO_PORT31, 1); 1062 + gpio_direction_output(GPIO_PORT31, 0); /* off by default */ 1084 1063 1085 1064 gpio_request(GPIO_PORT151, NULL); /* LCDDON */ 1086 1065 gpio_direction_output(GPIO_PORT151, 1);
+5 -5
arch/arm/mach-shmobile/include/mach/mmcif-ap4eb.h arch/arm/mach-shmobile/include/mach/mmc-ap4eb.h
··· 1 - #ifndef MMCIF_AP4EB_H 2 - #define MMCIF_AP4EB_H 1 + #ifndef MMC_AP4EB_H 2 + #define MMC_AP4EB_H 3 3 4 4 #define PORT185CR (void __iomem *)0xe60520b9 5 5 #define PORT186CR (void __iomem *)0xe60520ba ··· 8 8 9 9 #define PORTR191_160DR (void __iomem *)0xe6056014 10 10 11 - static inline void mmcif_init_progress(void) 11 + static inline void mmc_init_progress(void) 12 12 { 13 13 /* Initialise LEDS1-4 14 14 * registers: PORT185CR-PORT188CR (LED1-LED4 Control) ··· 20 20 __raw_writeb(0x10, PORT188CR); 21 21 } 22 22 23 - static inline void mmcif_update_progress(int n) 23 + static inline void mmc_update_progress(int n) 24 24 { 25 25 __raw_writel((__raw_readl(PORTR191_160DR) & ~(0xf << 25)) | 26 26 (1 << (25 + n)), PORTR191_160DR); 27 27 } 28 28 29 - #endif /* MMCIF_AP4EB_H */ 29 + #endif /* MMC_AP4EB_H */
+5 -6
arch/arm/mach-shmobile/include/mach/mmcif-mackerel.h arch/arm/mach-shmobile/include/mach/mmc-mackerel.h
··· 1 - #ifndef MMCIF_MACKEREL_H 2 - #define MMCIF_MACKEREL_H 1 + #ifndef MMC_MACKEREL_H 2 + #define MMC_MACKEREL_H 3 3 4 4 #define PORT0CR (void __iomem *)0xe6051000 5 5 #define PORT1CR (void __iomem *)0xe6051001 ··· 9 9 #define PORTR031_000DR (void __iomem *)0xe6055000 10 10 #define PORTL159_128DR (void __iomem *)0xe6054010 11 11 12 - static inline void mmcif_init_progress(void) 12 + static inline void mmc_init_progress(void) 13 13 { 14 14 /* Initialise LEDS0-3 15 15 * registers: PORT0CR-PORT2CR,PORT159CR (LED0-LED3 Control) ··· 21 21 __raw_writeb(0x10, PORT159CR); 22 22 } 23 23 24 - static inline void mmcif_update_progress(int n) 24 + static inline void mmc_update_progress(int n) 25 25 { 26 26 unsigned a = 0, b = 0; 27 27 ··· 35 35 __raw_writel((__raw_readl(PORTL159_128DR) & ~(1 << 31)) | b, 36 36 PORTL159_128DR); 37 37 } 38 - 39 - #endif /* MMCIF_MACKEREL_H */ 38 + #endif /* MMC_MACKEREL_H */
+5 -5
arch/arm/mach-shmobile/include/mach/mmcif.h arch/arm/mach-shmobile/include/mach/mmc.h
··· 1 - #ifndef MMCIF_H 2 - #define MMCIF_H 1 + #ifndef MMC_H 2 + #define MMC_H 3 3 4 4 /************************************************** 5 5 * ··· 8 8 **************************************************/ 9 9 10 10 #ifdef CONFIG_MACH_AP4EVB 11 - #include "mach/mmcif-ap4eb.h" 11 + #include "mach/mmc-ap4eb.h" 12 12 #elif CONFIG_MACH_MACKEREL 13 - #include "mach/mmcif-mackerel.h" 13 + #include "mach/mmc-mackerel.h" 14 14 #else 15 15 #error "unsupported board." 16 16 #endif 17 17 18 - #endif /* MMCIF_H */ 18 + #endif /* MMC_H */
+5 -4
arch/sh/boot/romimage/mmcif-sh7724.c
··· 9 9 */ 10 10 11 11 #include <linux/mmc/sh_mmcif.h> 12 + #include <linux/mmc/boot.h> 12 13 #include <mach/romimage.h> 13 14 14 15 #define MMCIF_BASE (void __iomem *)0xa4ca0000 ··· 30 29 */ 31 30 asmlinkage void mmcif_loader(unsigned char *buf, unsigned long no_bytes) 32 31 { 33 - mmcif_update_progress(MMCIF_PROGRESS_ENTER); 32 + mmcif_update_progress(MMC_PROGRESS_ENTER); 34 33 35 34 /* enable clock to the MMCIF hardware block */ 36 35 __raw_writel(__raw_readl(MSTPCR2) & ~0x20000000, MSTPCR2); ··· 53 52 /* high drive capability for MMC pins */ 54 53 __raw_writew(__raw_readw(DRVCRA) | 0x3000, DRVCRA); 55 54 56 - mmcif_update_progress(MMCIF_PROGRESS_INIT); 55 + mmcif_update_progress(MMC_PROGRESS_INIT); 57 56 58 57 /* setup MMCIF hardware */ 59 58 sh_mmcif_boot_init(MMCIF_BASE); 60 59 61 - mmcif_update_progress(MMCIF_PROGRESS_LOAD); 60 + mmcif_update_progress(MMC_PROGRESS_LOAD); 62 61 63 62 /* load kernel via MMCIF interface */ 64 63 sh_mmcif_boot_do_read(MMCIF_BASE, 512, ··· 68 67 /* disable clock to the MMCIF hardware block */ 69 68 __raw_writel(__raw_readl(MSTPCR2) | 0x20000000, MSTPCR2); 70 69 71 - mmcif_update_progress(MMCIF_PROGRESS_DONE); 70 + mmcif_update_progress(MMC_PROGRESS_DONE); 72 71 }
+7
include/linux/mmc/boot.h
··· 1 + #ifndef MMC_BOOT_H 2 + #define MMC_BOOT_H 3 + 4 + enum { MMC_PROGRESS_ENTER, MMC_PROGRESS_INIT, 5 + MMC_PROGRESS_LOAD, MMC_PROGRESS_DONE }; 6 + 7 + #endif
-3
include/linux/mmc/sh_mmcif.h
··· 104 104 105 105 #define SH_MMCIF_BBS 512 /* boot block size */ 106 106 107 - enum { MMCIF_PROGRESS_ENTER, MMCIF_PROGRESS_INIT, 108 - MMCIF_PROGRESS_LOAD, MMCIF_PROGRESS_DONE }; 109 - 110 107 static inline void sh_mmcif_boot_cmd_send(void __iomem *base, 111 108 unsigned long cmd, unsigned long arg) 112 109 {