Skip to content

Commit

Permalink
net: Fix OF platform drivers coldplug/hotplug when compiled as modules
Browse files Browse the repository at this point in the history
Some OF platform drivers are missing module device tables, so they won't
load automatically on boot. This patch fixes the issue by adding proper
MODULE_DEVICE_TABLE() macros to the drivers.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Anton Vorontsov authored and David S. Miller committed Oct 14, 2009
1 parent 0fe7463 commit e72701a
Show file tree
Hide file tree
Showing 9 changed files with 10 additions and 3 deletions.
1 change: 1 addition & 0 deletions drivers/net/can/sja1000/sja1000_of_platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ static struct of_device_id __devinitdata sja1000_ofp_table[] = {
{.compatible = "nxp,sja1000"},
{},
};
MODULE_DEVICE_TABLE(of, sja1000_ofp_table);

static struct of_platform_driver sja1000_ofp_driver = {
.owner = THIS_MODULE,
Expand Down
1 change: 1 addition & 0 deletions drivers/net/fec_mpc52xx_phy.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ static struct of_device_id mpc52xx_fec_mdio_match[] = {
{ .compatible = "mpc5200b-fec-phy", },
{}
};
MODULE_DEVICE_TABLE(of, mpc52xx_fec_mdio_match);

struct of_platform_driver mpc52xx_fec_mdio_driver = {
.name = "mpc5200b-fec-phy",
Expand Down
1 change: 1 addition & 0 deletions drivers/net/fs_enet/fs_enet-main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1110,6 +1110,7 @@ static struct of_device_id fs_enet_match[] = {
#endif
{}
};
MODULE_DEVICE_TABLE(of, fs_enet_match);

static struct of_platform_driver fs_enet_driver = {
.name = "fs_enet",
Expand Down
1 change: 1 addition & 0 deletions drivers/net/fs_enet/mii-bitbang.c
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@ static struct of_device_id fs_enet_mdio_bb_match[] = {
},
{},
};
MODULE_DEVICE_TABLE(of, fs_enet_mdio_bb_match);

static struct of_platform_driver fs_enet_bb_mdio_driver = {
.name = "fsl-bb-mdio",
Expand Down
1 change: 1 addition & 0 deletions drivers/net/fs_enet/mii-fec.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ static struct of_device_id fs_enet_mdio_fec_match[] = {
#endif
{},
};
MODULE_DEVICE_TABLE(of, fs_enet_mdio_fec_match);

static struct of_platform_driver fs_enet_fec_mdio_driver = {
.name = "fsl-fec-mdio",
Expand Down
1 change: 1 addition & 0 deletions drivers/net/fsl_pq_mdio.c
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,7 @@ static struct of_device_id fsl_pq_mdio_match[] = {
},
{},
};
MODULE_DEVICE_TABLE(of, fsl_pq_mdio_match);

static struct of_platform_driver fsl_pq_mdio_driver = {
.name = "fsl-pq_mdio",
Expand Down
4 changes: 1 addition & 3 deletions drivers/net/gianfar.c
Original file line number Diff line number Diff line change
Expand Up @@ -2325,9 +2325,6 @@ static irqreturn_t gfar_error(int irq, void *dev_id)
return IRQ_HANDLED;
}

/* work with hotplug and coldplug */
MODULE_ALIAS("platform:fsl-gianfar");

static struct of_device_id gfar_match[] =
{
{
Expand All @@ -2336,6 +2333,7 @@ static struct of_device_id gfar_match[] =
},
{},
};
MODULE_DEVICE_TABLE(of, gfar_match);

/* Structure for a device driver */
static struct of_platform_driver gfar_driver = {
Expand Down
2 changes: 2 additions & 0 deletions drivers/net/ibm_newemac/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
*
*/

#include <linux/module.h>
#include <linux/sched.h>
#include <linux/string.h>
#include <linux/errno.h>
Expand Down Expand Up @@ -2988,6 +2989,7 @@ static struct of_device_id emac_match[] =
},
{},
};
MODULE_DEVICE_TABLE(of, emac_match);

static struct of_platform_driver emac_driver = {
.name = "emac",
Expand Down
1 change: 1 addition & 0 deletions drivers/net/phy/mdio-gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,7 @@ static struct of_device_id mdio_ofgpio_match[] = {
},
{},
};
MODULE_DEVICE_TABLE(of, mdio_ofgpio_match);

static struct of_platform_driver mdio_ofgpio_driver = {
.name = "mdio-gpio",
Expand Down

0 comments on commit e72701a

Please sign in to comment.