Message ID | 1440141537-18737-2-git-send-email-bmeng.cn@gmail.com |
---|---|
State | Superseded |
Delegated to: | Simon Glass |
Headers | show |
Hi Bin, On 21 August 2015 at 01:18, Bin Meng <bmeng.cn@gmail.com> wrote: > - Remove unused routines i8042_flush() and i8042_disable() > - Remove unused CONFIG_USE_CPCIDVI wrapped codes > - Remove __weak board_i8042_skip() > > Signed-off-by: Bin Meng <bmeng.cn@gmail.com> > Acked-by: Simon Glass <sjg@chromium.org> > > --- > > Changes in v2: > - Split the removing of unused codes into this patch > > drivers/input/i8042.c | 67 +-------------------------------------------------- > include/i8042.h | 13 ---------- > 2 files changed, 1 insertion(+), 79 deletions(-) > > diff --git a/drivers/input/i8042.c b/drivers/input/i8042.c > index 1769c5e..8401181 100644 > --- a/drivers/input/i8042.c > +++ b/drivers/input/i8042.c > @@ -10,16 +10,6 @@ > /* includes */ > > #include <common.h> > -#include <linux/compiler.h> > - > -#ifdef CONFIG_USE_CPCIDVI > -extern u8 gt_cpcidvi_in8(u32 offset); > -extern void gt_cpcidvi_out8(u32 offset, u8 data); > - > -#define in8(a) gt_cpcidvi_in8(a) > -#define out8(a, b) gt_cpcidvi_out8(a, b) > -#endif Yes good to drop that. Can you also please drop it (perhaps separate patch) in drivers/video/ct69000.c? > - > #include <i8042.h> > > /* defines */ > @@ -305,54 +295,6 @@ static int kbd_controller_present(void) > return in8(I8042_STATUS_REG) != 0xff; > } > > -/* > - * Implement a weak default function for boards that optionally > - * need to skip the i8042 initialization. > - */ > -int __weak board_i8042_skip(void) > -{ > - /* As default, don't skip */ > - return 0; > -} > - > -void i8042_flush(void) > -{ > - int timeout; > - > - /* > - * The delay is to give the keyboard controller some time to fill the > - * next byte. > - */ > - while (1) { > - timeout = 100; /* wait for no longer than 100us */ > - while (timeout > 0 && !(in8(I8042_STATUS_REG) & 0x01)) { > - udelay(1); > - timeout--; > - } > - > - /* Try to pull next byte if not timeout. */ > - if (in8(I8042_STATUS_REG) & 0x01) > - in8(I8042_DATA_REG); > - else > - break; > - } > -} > - > -int i8042_disable(void) > -{ > - if (kbd_input_empty() == 0) > - return -1; > - > - /* Disable keyboard */ > - out8(I8042_COMMAND_REG, 0xad); > - > - if (kbd_input_empty() == 0) > - return -1; > - > - return 0; > -} > - > - > /******************************************************************************* > * > * i8042_kbd_init - reset keyboard and init state flags > @@ -362,16 +304,9 @@ int i8042_kbd_init(void) > int keymap, try; > char *penv; > > - if (!kbd_controller_present() || board_i8042_skip()) > + if (!kbd_controller_present()) > return -1; > > -#ifdef CONFIG_USE_CPCIDVI > - penv = getenv("console"); > - if (penv != NULL) { > - if (strncmp(penv, "serial", 7) == 0) > - return -1; > - } > -#endif > /* Init keyboard device (default US layout) */ > keymap = KBD_US; > penv = getenv("keymap"); > diff --git a/include/i8042.h b/include/i8042.h > index 58c85ec..e68b8d8 100644 > --- a/include/i8042.h > +++ b/include/i8042.h > @@ -59,19 +59,6 @@ enum { > > /* exports */ > > -/** > - * Flush all buffer from keyboard controller to host. > - */ > -void i8042_flush(void); > - > -/** > - * Disables the keyboard so that key strokes no longer generate scancodes to > - * the host. > - * > - * @return 0 if ok, -1 if keyboard input was found while disabling > - */ > -int i8042_disable(void); > - > struct stdio_dev; > > int i8042_kbd_init(void); > -- > 1.8.2.1 > For the moment I'd like to keep these functions. They are used for Chrome OS: /* Disable keyboard and flush buffer so that further key strokes * won't interfere kernel driver init. */ #ifdef CONFIG_I8042_KBD if (i8042_disable()) VBDEBUG("i8042_disable() failed. fine, continue.\n"); i8042_flush(); #endif int board_i8042_skip(void) { struct vboot_flag_details devsw; vboot_flag_fetch(VBOOT_FLAG_DEVELOPER, &devsw); if (devsw.value) return 0; return fdtdec_get_config_int(gd->fdt_blob, "skip-i8042", 0); } I'm sure these can be done in a better way at some point, and in the meantime I'll add some code to use them in coreboot (looks like there are a few patches I did not upstream). Regards, Simon
Hi Simon, On Sat, Aug 22, 2015 at 7:27 AM, Simon Glass <sjg@chromium.org> wrote: > Hi Bin, > > On 21 August 2015 at 01:18, Bin Meng <bmeng.cn@gmail.com> wrote: >> - Remove unused routines i8042_flush() and i8042_disable() >> - Remove unused CONFIG_USE_CPCIDVI wrapped codes >> - Remove __weak board_i8042_skip() >> >> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> >> Acked-by: Simon Glass <sjg@chromium.org> >> >> --- >> >> Changes in v2: >> - Split the removing of unused codes into this patch >> >> drivers/input/i8042.c | 67 +-------------------------------------------------- >> include/i8042.h | 13 ---------- >> 2 files changed, 1 insertion(+), 79 deletions(-) >> >> diff --git a/drivers/input/i8042.c b/drivers/input/i8042.c >> index 1769c5e..8401181 100644 >> --- a/drivers/input/i8042.c >> +++ b/drivers/input/i8042.c >> @@ -10,16 +10,6 @@ >> /* includes */ >> >> #include <common.h> >> -#include <linux/compiler.h> >> - >> -#ifdef CONFIG_USE_CPCIDVI >> -extern u8 gt_cpcidvi_in8(u32 offset); >> -extern void gt_cpcidvi_out8(u32 offset, u8 data); >> - >> -#define in8(a) gt_cpcidvi_in8(a) >> -#define out8(a, b) gt_cpcidvi_out8(a, b) >> -#endif > > Yes good to drop that. Can you also please drop it (perhaps separate > patch) in drivers/video/ct69000.c? Yes, will do in v3. > >> - >> #include <i8042.h> >> >> /* defines */ >> @@ -305,54 +295,6 @@ static int kbd_controller_present(void) >> return in8(I8042_STATUS_REG) != 0xff; >> } >> >> -/* >> - * Implement a weak default function for boards that optionally >> - * need to skip the i8042 initialization. >> - */ >> -int __weak board_i8042_skip(void) >> -{ >> - /* As default, don't skip */ >> - return 0; >> -} >> - >> -void i8042_flush(void) >> -{ >> - int timeout; >> - >> - /* >> - * The delay is to give the keyboard controller some time to fill the >> - * next byte. >> - */ >> - while (1) { >> - timeout = 100; /* wait for no longer than 100us */ >> - while (timeout > 0 && !(in8(I8042_STATUS_REG) & 0x01)) { >> - udelay(1); >> - timeout--; >> - } >> - >> - /* Try to pull next byte if not timeout. */ >> - if (in8(I8042_STATUS_REG) & 0x01) >> - in8(I8042_DATA_REG); >> - else >> - break; >> - } >> -} >> - >> -int i8042_disable(void) >> -{ >> - if (kbd_input_empty() == 0) >> - return -1; >> - >> - /* Disable keyboard */ >> - out8(I8042_COMMAND_REG, 0xad); >> - >> - if (kbd_input_empty() == 0) >> - return -1; >> - >> - return 0; >> -} >> - >> - >> /******************************************************************************* >> * >> * i8042_kbd_init - reset keyboard and init state flags >> @@ -362,16 +304,9 @@ int i8042_kbd_init(void) >> int keymap, try; >> char *penv; >> >> - if (!kbd_controller_present() || board_i8042_skip()) >> + if (!kbd_controller_present()) >> return -1; >> >> -#ifdef CONFIG_USE_CPCIDVI >> - penv = getenv("console"); >> - if (penv != NULL) { >> - if (strncmp(penv, "serial", 7) == 0) >> - return -1; >> - } >> -#endif >> /* Init keyboard device (default US layout) */ >> keymap = KBD_US; >> penv = getenv("keymap"); >> diff --git a/include/i8042.h b/include/i8042.h >> index 58c85ec..e68b8d8 100644 >> --- a/include/i8042.h >> +++ b/include/i8042.h >> @@ -59,19 +59,6 @@ enum { >> >> /* exports */ >> >> -/** >> - * Flush all buffer from keyboard controller to host. >> - */ >> -void i8042_flush(void); >> - >> -/** >> - * Disables the keyboard so that key strokes no longer generate scancodes to >> - * the host. >> - * >> - * @return 0 if ok, -1 if keyboard input was found while disabling >> - */ >> -int i8042_disable(void); >> - >> struct stdio_dev; >> >> int i8042_kbd_init(void); >> -- >> 1.8.2.1 >> > > For the moment I'd like to keep these functions. They are used for Chrome OS: I will keep i8042_flush() and i8042_disable() in v3. > > /* Disable keyboard and flush buffer so that further key strokes > * won't interfere kernel driver init. */ > #ifdef CONFIG_I8042_KBD > if (i8042_disable()) > VBDEBUG("i8042_disable() failed. fine, continue.\n"); > i8042_flush(); > #endif > > int board_i8042_skip(void) Would you also like to keep board_i8042_skip()? > { > struct vboot_flag_details devsw; > > vboot_flag_fetch(VBOOT_FLAG_DEVELOPER, &devsw); > if (devsw.value) > return 0; > > return fdtdec_get_config_int(gd->fdt_blob, "skip-i8042", 0); > } > > I'm sure these can be done in a better way at some point, and in the > meantime I'll add some code to use them in coreboot (looks like there > are a few patches I did not upstream). > Regards, Bin
Hi Bin, On 23 August 2015 at 06:21, Bin Meng <bmeng.cn@gmail.com> wrote: > Hi Simon, > > On Sat, Aug 22, 2015 at 7:27 AM, Simon Glass <sjg@chromium.org> wrote: >> Hi Bin, >> >> On 21 August 2015 at 01:18, Bin Meng <bmeng.cn@gmail.com> wrote: >>> - Remove unused routines i8042_flush() and i8042_disable() >>> - Remove unused CONFIG_USE_CPCIDVI wrapped codes >>> - Remove __weak board_i8042_skip() >>> >>> Signed-off-by: Bin Meng <bmeng.cn@gmail.com> >>> Acked-by: Simon Glass <sjg@chromium.org> >>> >>> --- >>> >>> Changes in v2: >>> - Split the removing of unused codes into this patch >>> >>> drivers/input/i8042.c | 67 +-------------------------------------------------- >>> include/i8042.h | 13 ---------- >>> 2 files changed, 1 insertion(+), 79 deletions(-) >>> >>> diff --git a/drivers/input/i8042.c b/drivers/input/i8042.c >>> index 1769c5e..8401181 100644 >>> --- a/drivers/input/i8042.c >>> +++ b/drivers/input/i8042.c >>> @@ -10,16 +10,6 @@ >>> /* includes */ >>> >>> #include <common.h> >>> -#include <linux/compiler.h> >>> - >>> -#ifdef CONFIG_USE_CPCIDVI >>> -extern u8 gt_cpcidvi_in8(u32 offset); >>> -extern void gt_cpcidvi_out8(u32 offset, u8 data); >>> - >>> -#define in8(a) gt_cpcidvi_in8(a) >>> -#define out8(a, b) gt_cpcidvi_out8(a, b) >>> -#endif >> >> Yes good to drop that. Can you also please drop it (perhaps separate >> patch) in drivers/video/ct69000.c? > > Yes, will do in v3. > >> >>> - >>> #include <i8042.h> >>> >>> /* defines */ >>> @@ -305,54 +295,6 @@ static int kbd_controller_present(void) >>> return in8(I8042_STATUS_REG) != 0xff; >>> } >>> >>> -/* >>> - * Implement a weak default function for boards that optionally >>> - * need to skip the i8042 initialization. >>> - */ >>> -int __weak board_i8042_skip(void) >>> -{ >>> - /* As default, don't skip */ >>> - return 0; >>> -} >>> - >>> -void i8042_flush(void) >>> -{ >>> - int timeout; >>> - >>> - /* >>> - * The delay is to give the keyboard controller some time to fill the >>> - * next byte. >>> - */ >>> - while (1) { >>> - timeout = 100; /* wait for no longer than 100us */ >>> - while (timeout > 0 && !(in8(I8042_STATUS_REG) & 0x01)) { >>> - udelay(1); >>> - timeout--; >>> - } >>> - >>> - /* Try to pull next byte if not timeout. */ >>> - if (in8(I8042_STATUS_REG) & 0x01) >>> - in8(I8042_DATA_REG); >>> - else >>> - break; >>> - } >>> -} >>> - >>> -int i8042_disable(void) >>> -{ >>> - if (kbd_input_empty() == 0) >>> - return -1; >>> - >>> - /* Disable keyboard */ >>> - out8(I8042_COMMAND_REG, 0xad); >>> - >>> - if (kbd_input_empty() == 0) >>> - return -1; >>> - >>> - return 0; >>> -} >>> - >>> - >>> /******************************************************************************* >>> * >>> * i8042_kbd_init - reset keyboard and init state flags >>> @@ -362,16 +304,9 @@ int i8042_kbd_init(void) >>> int keymap, try; >>> char *penv; >>> >>> - if (!kbd_controller_present() || board_i8042_skip()) >>> + if (!kbd_controller_present()) >>> return -1; >>> >>> -#ifdef CONFIG_USE_CPCIDVI >>> - penv = getenv("console"); >>> - if (penv != NULL) { >>> - if (strncmp(penv, "serial", 7) == 0) >>> - return -1; >>> - } >>> -#endif >>> /* Init keyboard device (default US layout) */ >>> keymap = KBD_US; >>> penv = getenv("keymap"); >>> diff --git a/include/i8042.h b/include/i8042.h >>> index 58c85ec..e68b8d8 100644 >>> --- a/include/i8042.h >>> +++ b/include/i8042.h >>> @@ -59,19 +59,6 @@ enum { >>> >>> /* exports */ >>> >>> -/** >>> - * Flush all buffer from keyboard controller to host. >>> - */ >>> -void i8042_flush(void); >>> - >>> -/** >>> - * Disables the keyboard so that key strokes no longer generate scancodes to >>> - * the host. >>> - * >>> - * @return 0 if ok, -1 if keyboard input was found while disabling >>> - */ >>> -int i8042_disable(void); >>> - >>> struct stdio_dev; >>> >>> int i8042_kbd_init(void); >>> -- >>> 1.8.2.1 >>> >> >> For the moment I'd like to keep these functions. They are used for Chrome OS: > > I will keep i8042_flush() and i8042_disable() in v3. > >> >> /* Disable keyboard and flush buffer so that further key strokes >> * won't interfere kernel driver init. */ >> #ifdef CONFIG_I8042_KBD >> if (i8042_disable()) >> VBDEBUG("i8042_disable() failed. fine, continue.\n"); >> i8042_flush(); >> #endif >> >> int board_i8042_skip(void) > > Would you also like to keep board_i8042_skip()? Yes at least for now. > >> { >> struct vboot_flag_details devsw; >> >> vboot_flag_fetch(VBOOT_FLAG_DEVELOPER, &devsw); >> if (devsw.value) >> return 0; >> >> return fdtdec_get_config_int(gd->fdt_blob, "skip-i8042", 0); >> } >> >> I'm sure these can be done in a better way at some point, and in the >> meantime I'll add some code to use them in coreboot (looks like there >> are a few patches I did not upstream). >> > > Regards, > Bin Regards, Simon
diff --git a/drivers/input/i8042.c b/drivers/input/i8042.c index 1769c5e..8401181 100644 --- a/drivers/input/i8042.c +++ b/drivers/input/i8042.c @@ -10,16 +10,6 @@ /* includes */ #include <common.h> -#include <linux/compiler.h> - -#ifdef CONFIG_USE_CPCIDVI -extern u8 gt_cpcidvi_in8(u32 offset); -extern void gt_cpcidvi_out8(u32 offset, u8 data); - -#define in8(a) gt_cpcidvi_in8(a) -#define out8(a, b) gt_cpcidvi_out8(a, b) -#endif - #include <i8042.h> /* defines */ @@ -305,54 +295,6 @@ static int kbd_controller_present(void) return in8(I8042_STATUS_REG) != 0xff; } -/* - * Implement a weak default function for boards that optionally - * need to skip the i8042 initialization. - */ -int __weak board_i8042_skip(void) -{ - /* As default, don't skip */ - return 0; -} - -void i8042_flush(void) -{ - int timeout; - - /* - * The delay is to give the keyboard controller some time to fill the - * next byte. - */ - while (1) { - timeout = 100; /* wait for no longer than 100us */ - while (timeout > 0 && !(in8(I8042_STATUS_REG) & 0x01)) { - udelay(1); - timeout--; - } - - /* Try to pull next byte if not timeout. */ - if (in8(I8042_STATUS_REG) & 0x01) - in8(I8042_DATA_REG); - else - break; - } -} - -int i8042_disable(void) -{ - if (kbd_input_empty() == 0) - return -1; - - /* Disable keyboard */ - out8(I8042_COMMAND_REG, 0xad); - - if (kbd_input_empty() == 0) - return -1; - - return 0; -} - - /******************************************************************************* * * i8042_kbd_init - reset keyboard and init state flags @@ -362,16 +304,9 @@ int i8042_kbd_init(void) int keymap, try; char *penv; - if (!kbd_controller_present() || board_i8042_skip()) + if (!kbd_controller_present()) return -1; -#ifdef CONFIG_USE_CPCIDVI - penv = getenv("console"); - if (penv != NULL) { - if (strncmp(penv, "serial", 7) == 0) - return -1; - } -#endif /* Init keyboard device (default US layout) */ keymap = KBD_US; penv = getenv("keymap"); diff --git a/include/i8042.h b/include/i8042.h index 58c85ec..e68b8d8 100644 --- a/include/i8042.h +++ b/include/i8042.h @@ -59,19 +59,6 @@ enum { /* exports */ -/** - * Flush all buffer from keyboard controller to host. - */ -void i8042_flush(void); - -/** - * Disables the keyboard so that key strokes no longer generate scancodes to - * the host. - * - * @return 0 if ok, -1 if keyboard input was found while disabling - */ -int i8042_disable(void); - struct stdio_dev; int i8042_kbd_init(void);