Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sead3-net.c
Go to the documentation of this file.
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License. See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved.
7  */
8 #include <linux/module.h>
9 #include <linux/irq.h>
10 #include <linux/platform_device.h>
11 #include <linux/smsc911x.h>
12 
13 static struct smsc911x_platform_config sead3_smsc911x_data = {
14  .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
15  .irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL,
17  .phy_interface = PHY_INTERFACE_MODE_MII,
18 };
19 
21  {
22  .start = 0x1f010000,
23  .end = 0x1f01ffff,
24  .flags = IORESOURCE_MEM
25  },
26  {
27  .start = MIPS_CPU_IRQ_BASE + 6,
28  .flags = IORESOURCE_IRQ
29  }
30 };
31 
32 static struct platform_device sead3_net_device = {
33  .name = "smsc911x",
34  .id = 0,
35  .dev = {
36  .platform_data = &sead3_smsc911x_data,
37  },
38  .num_resources = ARRAY_SIZE(sead3_net_resourcess),
39  .resource = sead3_net_resourcess
40 };
41 
42 static int __init sead3_net_init(void)
43 {
44  return platform_device_register(&sead3_net_device);
45 }
46 
47 module_init(sead3_net_init);
48 
49 MODULE_AUTHOR("Chris Dearman <[email protected]>");
50 MODULE_LICENSE("GPL");
51 MODULE_DESCRIPTION("Network probe driver for SEAD-3");