RE: x86: IPC driver patch for Intel Moorestown platform

From: Gurudatt, Sreenidhi B
Date: Tue Jul 21 2009 - 12:01:12 EST



On Tuesday 21 July 2009, Alan Cox wrote:
> > 1. built-in code adds platform-device for mrst_ipc
> > 2. user space auto-loads the mrst_ipc driver
The IPC driver APIs for host drivers communicate with the SCU (System Controller Unit) firmware on the platform. It is used by many Moorestown platform specific drivers such as Audio, Touch Screen, GPIO, Battery, Power Management etc for accessing PMIC (Power Management Interrupt Controller). It will typically get loaded during boot and gets unloaded on shutdown. I don't think it should be loaded and unloaded by the user-space apps.

> > 3. mrst_ipc driver creates child devices for each of its attached
> > devices
>
> The devices talking to it already are devices - but they will be input
> devices, watchdogs, etc. They already belong in existing classes.

> Remember that devices normally are both in the /sys/class hierarchy
> as a class device and in the /sys/devices hierarchy based on their
> attachment.

The IPC driver not device specific but it is Moorestown platform specific. Although different APIs are listed, the primary functionality of the driver is communicating with the SCU firmware via which hardware is accessed.

> I also don't believe the mrst ipc is enumerable either. If it was
> enumerable it would make a lot more sense.

Yes, it is not enumerable.

> It could be done along the same lines as ./drivers/input/serio/i8042.c:

> The platform knows when an i8042 chip is present and adds the
> serio devices it statically knows about. The serio driver then
> adds input class devices for them. You probably wouldn't /have/
> to add a new bus_type but could reuse nested platform devices.

Arnd <><
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/