[PATCH V6 1/5] LIB: Indirect ISA/LPC port IO introduced

Bjorn Helgaas helgaas at kernel.org
Mon Jan 30 16:09:14 PST 2017


On Tue, Jan 24, 2017 at 03:05:21PM +0800, zhichang.yuan wrote:
> Low-pin-count interface is integrated into some SoCs. The accesses to those
> peripherals under LPC make use of I/O ports rather than the memory mapped I/O.
> 
> To drive these devices, this patch introduces a method named indirect-IO.

It's slightly confusing to call this "indirect I/O" and then use
"extio" for the filename and function prefix.  It'd be nice to use
related names.

> +struct extio_node {
> +	unsigned long bus_start;	/* bus start address */
> +	unsigned long io_start;	/* io port token corresponding to bus_start */
> +	size_t range_size;	/* size of the extio node operating range */
> +	struct fwnode_handle *fwnode;
> +	struct list_head list;
> +	struct extio_ops *ops;	/* ops operating on this node */
> +	void *devpara;	/* private parameter of the host device */
> +};

I wish we didn't have both struct io_range and struct extio_node.  It
seems like they're both sort of trying to do the same thing.  Maybe
this is the same as what Alex is saying.

Bjorn



More information about the linux-arm-kernel mailing list