1/* Specification for the SMSC911x NIC 2 * 3 * Copyright (C) 2006 Matsushita Electric Industrial Co., Ltd. 4 * All Rights Reserved. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 9 * 2 of the License, or (at your option) any later version. 10 */ 11 12#include <linux/kernel.h> 13#include <linux/init.h> 14#include <linux/platform_device.h> 15#include <linux/io.h> 16#include <linux/ioport.h> 17#include <linux/smsc911x.h> 18#include <unit/smsc911x.h> 19 20static struct smsc911x_platform_config smsc911x_config = { 21 .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, 22 .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, 23 .flags = SMSC911X_USE_32BIT, 24}; 25 26static struct resource smsc911x_resources[] = { 27 [0] = { 28 .start = SMSC911X_BASE, 29 .end = SMSC911X_BASE_END, 30 .flags = IORESOURCE_MEM, 31 }, 32 [1] = { 33 .start = SMSC911X_IRQ, 34 .end = SMSC911X_IRQ, 35 .flags = IORESOURCE_IRQ, 36 }, 37}; 38 39static struct platform_device smsc911x_device = { 40 .name = "smsc911x", 41 .id = 0, 42 .num_resources = ARRAY_SIZE(smsc911x_resources), 43 .resource = smsc911x_resources, 44 .dev = { 45 .platform_data = &smsc911x_config, 46 } 47}; 48 49/* 50 * add platform devices 51 */ 52static int __init unit_device_init(void) 53{ 54 platform_device_register(&smsc911x_device); 55 return 0; 56} 57 58device_initcall(unit_device_init); 59