Re: [PATCH] MPC8xx PCMCIA driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux