X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=drivers%2Fnet%2Flan91c96.c;h=2bf00685337fb7e1df4c1729e2049e5133703b83;hb=1a4596601fd395f3afb8f82f3f840c5e00bdd57a;hp=90e4002495126e9fd5471073927720e2bb68a53d;hpb=b6535daefd65c93ea429bc4728062379dda6e482;p=platform%2Fkernel%2Fu-boot.git diff --git a/drivers/net/lan91c96.c b/drivers/net/lan91c96.c index 90e4002..2bf0068 100644 --- a/drivers/net/lan91c96.c +++ b/drivers/net/lan91c96.c @@ -11,25 +11,12 @@ * Developed by Simple Network Magic Corporation (SNMC) * Copyright (C) 1996 by Erik Stahlman (ES) * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * SPDX-License-Identifier: GPL-2.0+ * * Information contained in this file was obtained from the LAN91C96 * manual from SMC. To get a copy, if you really want one, you can find * information under www.smsc.com. * - * * "Features" of the SMC chip: * 6144 byte packet memory. ( for the 91C96 ) * EEPROM for configuration @@ -63,6 +50,7 @@ #include #include "lan91c96.h" #include +#include /*------------------------------------------------------------------------ * @@ -154,7 +142,7 @@ static void smc_set_mac_addr(const unsigned char *addr) ***********************************************/ void dump_memory_info(struct eth_device *dev) { - word mem_info; + __maybe_unused word mem_info; word old_bank; old_bank = SMC_inw(dev, LAN91C96_BANK_SELECT) & 0xF; @@ -313,11 +301,10 @@ static void smc_shutdown(struct eth_device *dev) * Enable the transmit interrupt, so I know if it failed * Free the kernel data if I actually sent it. */ -static int smc_send_packet(struct eth_device *dev, volatile void *packet, +static int smc_send_packet(struct eth_device *dev, void *packet, int packet_length) { byte packet_no; - unsigned long ioaddr; byte *buf; int length; int numPages; @@ -381,9 +368,6 @@ static int smc_send_packet(struct eth_device *dev, volatile void *packet, dev->name, try); /* I can send the packet now.. */ - - ioaddr = dev->iobase; - buf = (byte *) packet; /* If I get here, I _know_ there is a packet slot waiting for me */ @@ -703,7 +687,7 @@ static int lan91c96_recv(struct eth_device *dev) return smc_rcv(dev); } -static int lan91c96_send(struct eth_device *dev, volatile void *packet, +static int lan91c96_send(struct eth_device *dev, void *packet, int length) { return smc_send_packet(dev, packet, length); @@ -767,8 +751,8 @@ static struct id_type supported_chips[] = { {8, "LAN91C100FD"}, {7, "LAN91C100"}, {5, "LAN91C95"}, - {4, "LAN91C94/LAN91C96"}, - {3, "LAN91C90/LAN91C92"}, + {4, "LAN91C94/96"}, + {3, "LAN91C90/92"}, }; /* lan91c96_detect_chip * See: @@ -780,7 +764,7 @@ static int lan91c96_detect_chip(struct eth_device *dev) u8 chip_id; int r; SMC_SELECT_BANK(dev, 3); - chip_id = SMC_inw(dev, 0xA) & LAN91C96_REV_REVID; + chip_id = (SMC_inw(dev, 0xA) & LAN91C96_REV_CHIPID) >> 4; SMC_SELECT_BANK(dev, 0); for (r = 0; r < sizeof(supported_chips) / sizeof(struct id_type); r++) if (chip_id == supported_chips[r].id) @@ -795,7 +779,6 @@ int lan91c96_initialize(u8 dev_num, int base_addr) dev = malloc(sizeof(*dev)); if (!dev) { - free(dev); return 0; } memset(dev, 0, sizeof(*dev));