platform: introduce module id table for platform devices
authorEric Miao <eric.miao@marvell.com>
Wed, 4 Feb 2009 03:52:40 +0000 (11:52 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 24 Mar 2009 23:38:24 +0000 (16:38 -0700)
commit57fee4a58fe802272742caae248872c392a60670
treea3cd02fb3c1decb829c520d1a5319bef0ce7bd27
parent71b3e0c1ad90f28e34c105069175cbd4edb43dfa
platform: introduce module id table for platform devices

Now platform_device is being widely used on SoC processors where the
peripherals are attached to the system bus, which is simple enough.

However, silicon IPs for these SoCs are usually shared heavily across
a family of processors, even products from different companies.  This
makes the original simple driver name based matching insufficient, or
simply not straight-forward.

Introduce a module id table for platform devices, and makes it clear
that a platform driver is able to support some shared IP and handle
slight differences across different platforms (by 'driver_data').
Module alias is handled automatically when a MODULE_DEVICE_TABLE()
is defined.

To not disturb the current platform drivers too much, the matched id
entry is recorded and can be retrieved by platform_get_device_id().

Signed-off-by: Eric Miao <eric.miao@marvell.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/base/platform.c
include/linux/mod_devicetable.h
include/linux/platform_device.h
scripts/mod/file2alias.c