On Mon, 2018-02-26 at 11:56 +0000, John Garry wrote:
Why you can't do properly in ACPI?
No answer here either.
Sorry, but with this level of communication it's no go for the
series.
Sorry if my answers did not tell you want you want to know.
My point was that the 8250_pnp driver would be used for a
pnp_device,
but we are creating a platform device for this UART slave so would
require a platform device driver, that which 8250_dw.c is. But I
will
check on pnp device support.
Hi Andy,
Perhaps it's not visible, though below is a description of the
drivers
we have:
8250_dw - OF/ACPI driver for Synopsys DW (+ DW DMA)
8250_lpss - PCI driver for Synopsys DW (+ DW DMA)
8250_of - generic 8250 compatible driver for OF
8250_pci - generic 8250 compatible driver for PCI
8250_pnp - generic 8250 compatible driver for ACPI
8250_* (except core parts) - custom glue drivers per some IPs
By description you gave your driver fits 8250_pnp if ACPI tables
crafted
properly.
Share the ACPI excerpt and we can discuss further how to improve
them.
For a bit of background, MFD support was discussed here initially:
https://lkml.org/lkml/2017/6/13/796
Here is the ACPI table:
Scope(_SB) {
Device (LPC0) {
Name (_HID, "HISI0191") // HiSi LPC
Name (_CRS, ResourceTemplate () {
Memory32Fixed (ReadWrite, 0xa01b0000, 0x1000)
})
}
Device (LPC0.CON0) {
Name (_HID, "HISI1031")
// Name (_CID, "PNP0501") // cannot support PNP
Name (LORS, ResourceTemplate() {
QWordIO (
ResourceConsumer,
MinNotFixed, // _MIF
MaxNotFixed, // _MAF
PosDecode,
EntireRange,
0x0, // _GRA
0x2F8, // _MIN
0x3fff, // _MAX
Shouldn't be 0x2ff ?
0x0, // _TRA
0x08, // _LEN
, ,
IO02
The latest framework changes and host driver patchset are here:
https://lkml.org/lkml/2018/2/19/465
It still doesn't explain impediments you have.
Just few approaches comes to my mind:
- move UART outside of parent device
- register PNP driver manually for that cell instead of MFD
- use serial8250 platform driver (I totally forgot that we have a
generic platform driver, so, it might be what you need to use at the
end)