lkml.org 
[lkml]   [2005]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] MPC8xx PCMCIA driver
On Mon, Aug 29, 2005 at 11:39:02PM -0400, Jeff Garzik wrote:
> Marcelo Tosatti wrote:
> >+static int voltage_set(int slot, int vcc, int vpp)
> >+{
> >+ u_int reg = 0;
> >+
> >+ switch(vcc) {
> >+ case 0: break;
> >+ case 33:
> >+ reg |= BCSR1_PCVCTL4;
> >+ break;
> >+ case 50:
> >+ reg |= BCSR1_PCVCTL5;
> >+ break;
> >+ default:
> >+ return 1;
> >+ }
> >+
> >+ switch(vpp) {
> >+ case 0: break;
> >+ case 33:
> >+ case 50:
> >+ if(vcc == vpp)
> >+ reg |= BCSR1_PCVCTL6;
> >+ else
> >+ return 1;
> >+ break;
> >+ case 120:
> >+ reg |= BCSR1_PCVCTL7;
> >+ default:
> >+ return 1;
> >+ }
> >+
> >+ if(!((vcc == 50) || (vcc == 0)))
> >+ return 1;
> >+
> >+ /* first, turn off all power */
> >+
> >+ *((uint *)RPX_CSR_ADDR) &= ~(BCSR1_PCVCTL4 | BCSR1_PCVCTL5
> >+ | BCSR1_PCVCTL6 | BCSR1_PCVCTL7);
> >+
> >+ /* enable new powersettings */
> >+
> >+ *((uint *)RPX_CSR_ADDR) |= reg;
>
> Should use bus read/write functions, such as foo_readl() or iowrite32().

The memory map structure which contains device configuration/registers
is _always_ directly mapped with pte's (the 8xx is a chip with builtin
UART/network/etc functionality).

I don't think there is a need to use read/write acessors.

> Don't use weird types in kernel code such as 'uint'. Use the more
> explicitly-sized u32.

OK, will fix the types and address the rest of your comments.

Thanks!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-08-30 06:02    [W:0.149 / U:0.264 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site