From patchwork Fri Oct 24 07:08:27 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Korsgaard X-Patchwork-Id: 5620 X-Patchwork-Delegate: jgarzik@pobox.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 3869FDDDD8 for ; Fri, 24 Oct 2008 18:08:38 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751821AbYJXHId (ORCPT ); Fri, 24 Oct 2008 03:08:33 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751256AbYJXHId (ORCPT ); Fri, 24 Oct 2008 03:08:33 -0400 Received: from nf-out-0910.google.com ([64.233.182.185]:51034 "EHLO nf-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751203AbYJXHIc (ORCPT ); Fri, 24 Oct 2008 03:08:32 -0400 Received: by nf-out-0910.google.com with SMTP id d3so297808nfc.21 for ; Fri, 24 Oct 2008 00:08:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:received:from:to:cc:subject :date:message-id:x-mailer:sender; bh=sCMne7Wh/wo+qFrFu1YdfD2LNIOGpV+aDoZ7tlXPl1E=; b=b9a6IIKKjloTACpeI7oZdEI4Mq9q2/ANK4xb1O+dqj25U0o3OwV0XkJC1dzGfrc7W4 qTRzcAK5+GPA6/bEwlbWDEBwd9STAR1yQvZrkwpW/4dw8YkVHbO/DgL5ykuFUICBgJJ5 7sxHIDp5rBeRyfv8MOCXu1yX4geNw9MKkTjPY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:sender; b=PGemmyIEw+SAhH0osuaTZ/sSf+Npwt8OLlIR41yVYtLjFF68PePM1jBKriVIBuZ6WA 6AG60h1pNrM8v6+PJ4Aa42svM46dHjoFEF0/5VTJCtyb01OGKb7mZNX1+O6FeZHz1YQI dYTPHTaWqX67TQR5SvLSZ14nnh0EtJfhJv71c= Received: by 10.210.125.7 with SMTP id x7mr1456232ebc.90.1224832110647; Fri, 24 Oct 2008 00:08:30 -0700 (PDT) Received: from macbook.be.48ers.dk (191.207-78-194.adsl-fix.skynet.be [194.78.207.191]) by mx.google.com with ESMTPS id 31sm74908519nfu.9.2008.10.24.00.08.29 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 24 Oct 2008 00:08:29 -0700 (PDT) Received: by macbook.be.48ers.dk (Postfix, from userid 1000) id 79A4126807F; Fri, 24 Oct 2008 09:08:27 +0200 (CEST) From: Peter Korsgaard To: netdev@vger.kernel.org, jeff@garzik.org Cc: Peter Korsgaard Subject: [PATCH] dm9601: runtime mac address change support Date: Fri, 24 Oct 2008 09:08:27 +0200 Message-Id: <1224832107-6334-1-git-send-email-jacmet@sunsite.dk> X-Mailer: git-send-email 1.5.6.5 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Implement set_mac_address for runtime mac address change. Signed-off-by: Peter Korsgaard --- drivers/net/usb/dm9601.c | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/drivers/net/usb/dm9601.c b/drivers/net/usb/dm9601.c index 78df2be..db3377d 100644 --- a/drivers/net/usb/dm9601.c +++ b/drivers/net/usb/dm9601.c @@ -396,6 +396,20 @@ static void dm9601_set_multicast(struct net_device *net) dm_write_reg_async(dev, DM_RX_CTRL, rx_ctl); } +static int dm9601_set_mac_address(struct net_device *net, void *p) +{ + struct sockaddr *addr = p; + struct usbnet *dev = netdev_priv(net); + + if (!is_valid_ether_addr(addr->sa_data)) + return -EINVAL; + + memcpy(net->dev_addr, addr->sa_data, net->addr_len); + dm_write_async(dev, DM_PHY_ADDR, net->addr_len, net->dev_addr); + + return 0; +} + static int dm9601_bind(struct usbnet *dev, struct usb_interface *intf) { int ret; @@ -406,6 +420,7 @@ static int dm9601_bind(struct usbnet *dev, struct usb_interface *intf) dev->net->do_ioctl = dm9601_ioctl; dev->net->set_multicast_list = dm9601_set_multicast; + dev->net->set_mac_address = dm9601_set_mac_address; dev->net->ethtool_ops = &dm9601_ethtool_ops; dev->net->hard_header_len += DM_TX_OVERHEAD; dev->hard_mtu = dev->net->mtu + dev->net->hard_header_len;