Re: [RFC/PATCH 2/2] powerpc: Add legacy PCI access via sysfs

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

 



On Friday, October 3, 2008 2:49 am Benjamin Herrenschmidt wrote:
> +	/* WARNING: The generic code is idiotic. It gets passed a pointer
> +	 * to what can be a 1, 2 or 4 byte quantity and always reads that
> +	 * as a u32, which means that we have to correct the location of
> +	 * the data read within those 32 bits for size 1 and 2
> +	 */
> +	switch(size) {
> +	case 1:
> +		out_8(addr, val >> 24);
> +		return 1;
> +	case 2:
> +		if (port & 1)
> +			return -EINVAL;
> +		out_le16(addr, val >> 16);
> +		return 2;
> +	case 4:
> +		if (port & 3)
> +			return -EINVAL;
> +		out_le32(addr, val);
> +		return 4;
> +	}
> +	return -EINVAL;

Feel free to change the generic code if it makes things easier for you, the 
only limitation is that we have to live within the generic sysfs read/write 
functions.  Obviously I didn't worry about it when doing this code on ia64...

Jesse
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux