lkml.org 
[lkml]   [2008]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 03/17] [MIPS] Malta: check the PCI clock frequency in a separate function
    Date
    This patch adds a separate short and sweet function to check the
    PCI clock frequency. This is to improve readability of the Malta
    setup code.

    Along the way, a couple of coding style violations are fixed.

    No functional changes introduced.

    Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
    ---
    arch/mips/mips-boards/malta/malta_setup.c | 43 +++++++++++++++++------------
    1 files changed, 25 insertions(+), 18 deletions(-)

    diff --git a/arch/mips/mips-boards/malta/malta_setup.c b/arch/mips/mips-boards/malta/malta_setup.c
    index d051405..79d74ea 100644
    --- a/arch/mips/mips-boards/malta/malta_setup.c
    +++ b/arch/mips/mips-boards/malta/malta_setup.c
    @@ -108,6 +108,30 @@ void __init fd_activate(void)
    }
    #endif

    +#ifdef CONFIG_BLK_DEV_IDE
    +static void __init pci_clock_check(void)
    +{
    + unsigned int __iomem *jmpr_p =
    + (unsigned int *) ioremap(MALTA_JMPRS_REG, sizeof(unsigned int));
    + int jmpr = (__raw_readl(jmpr_p) >> 2) & 0x07;
    + static const int pciclocks[] __initdata = {
    + 33, 20, 25, 30, 12, 16, 37, 10
    + };
    + int pciclock = pciclocks[jmpr];
    + char *argptr = prom_getcmdline();
    +
    + if (pciclock != 33 && !strstr(argptr, "idebus=")) {
    + printk(KERN_WARNING "WARNING: PCI clock is %dMHz, "
    + "setting idebus\n", pciclock);
    + argptr += strlen(argptr);
    + sprintf(argptr, " idebus=%d", pciclock);
    + if (pciclock < 20 || pciclock > 66)
    + printk(KERN_WARNING "WARNING: IDE timing "
    + "calculations will be incorrect\n");
    + }
    +}
    +#endif
    +
    void __init plat_mem_setup(void)
    {
    unsigned int i;
    @@ -171,24 +195,7 @@ void __init plat_mem_setup(void)
    #endif

    #ifdef CONFIG_BLK_DEV_IDE
    - /* Check PCI clock */
    - {
    - unsigned int __iomem *jmpr_p = (unsigned int *) ioremap(MALTA_JMPRS_REG, sizeof(unsigned int));
    - int jmpr = (__raw_readl(jmpr_p) >> 2) & 0x07;
    - static const int pciclocks[] __initdata = {
    - 33, 20, 25, 30, 12, 16, 37, 10
    - };
    - int pciclock = pciclocks[jmpr];
    - char *argptr = prom_getcmdline();
    -
    - if (pciclock != 33 && !strstr (argptr, "idebus=")) {
    - printk("WARNING: PCI clock is %dMHz, setting idebus\n", pciclock);
    - argptr += strlen(argptr);
    - sprintf(argptr, " idebus=%d", pciclock);
    - if (pciclock < 20 || pciclock > 66)
    - printk("WARNING: IDE timing calculations will be incorrect\n");
    - }
    - }
    + pci_clock_check();
    #endif
    #ifdef CONFIG_BLK_DEV_FD
    fd_activate();
    --
    1.5.3


    \
     
     \ /
      Last update: 2008-01-24 17:55    [W:0.020 / U:5.796 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site