Re: [PATCH V6 1/5] LIB: Indirect ISA/LPC port IO introduced
From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2017-01-31 00:10:15
Also in:
linux-arm-kernel, linux-pci, linux-serial, lkml
From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2017-01-31 00:10:15
Also in:
linux-arm-kernel, linux-pci, linux-serial, lkml
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