linux-mips
[Top] [All Lists]

Re: [PATCH] : Add support for NXP PNX833x (STB222/5) into linux kernel‏

To: "Daniel Laird" <daniel.j.laird@nxp.com>
Subject: Re: [PATCH] : Add support for NXP PNX833x (STB222/5) into linux kernel‏ (UPDATE)
From: Florian Fainelli <florian.fainelli@telecomint.eu>
Date: Thu, 12 Jun 2008 14:41:00 +0200
Cc: "Ralf Baechle" <ralf@linux-mips.org>, linux-mips@linux-mips.org
In-reply-to: <64660ef00806120529l5c5979a0j6eb81c0dfc36fabb@mail.gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <64660ef00806120529l5c5979a0j6eb81c0dfc36fabb@mail.gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: KMail/1.9.9
Hi Daniel,

Le Thursday 12 June 2008 14:29:47 Daniel Laird, vous avez écrit :
> linux-2.6.26-rc4.orig/include/asm-mips/mach-pnx833x/gpio.h
> linux-2.6.26-rc4/include/asm-mips/mach-pnx833x/gpio.h
> +
> +/* Initialize GPIO to a known state */
> +static inline void pnx833x_gpio_init(void)
> +{
> +     PNX833X_PIO_DIR = 0;
> +     PNX833X_PIO_DIR2 = 0;
> +     PNX833X_PIO_SEL = 0;
> +     PNX833X_PIO_SEL2 = 0;
> +     PNX833X_PIO_INT_EDGE = 0;
> +     PNX833X_PIO_INT_HI = 0;
> +     PNX833X_PIO_INT_LO = 0;

It would be better if you for instance map a structure to your PIO registers, 
like this :

struct pnx833x_pio_reg {
        u32     in;
        u32     out;
        [..]
};

Then the gpio code would ioremap this registers like this in 
pnx833x_gpio_init :

        struct pnx833x_pio_reg *gpio_reg = ioremap_nocache(0xF00, sizeof(struct 
pnx833x_gpio_reg));
        [..]

So that you could use writel/readl like this :

        writel(0, &gpio_reg->in);

which looks nicer.
-- 
Cordialement, Florian Fainelli
------------------------------

<Prev in Thread] Current Thread [Next in Thread>