Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp2936191ybl; Mon, 19 Aug 2019 09:34:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqwrfTD0j87F9eOZ/GryGB3sm2loOde9thPtGc0LnyvhdOy7qiwgLaTCRYUQxuOj1vuU88rm X-Received: by 2002:a17:902:5996:: with SMTP id p22mr8547553pli.149.1566232462457; Mon, 19 Aug 2019 09:34:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566232462; cv=none; d=google.com; s=arc-20160816; b=GDV7XUPzoEsYy97RptWD52lQh9DyAgTt83lSaDtpvKNrcuuvJLRAKjGCIrY9ENplvZ 4CnDq9gz5jlS85KYVDGXoj01s10bP9VaWpsegWplajZXFu72OXIMZwr1Eqya8zv5Y9IG y4TsW2f/AB3cnNEFg7McdOFb3cXYXLeCYHJv3KNBqghmtllp6L5O41fuZ/Jp9ODCOdtu taMfLCCDnOwND+L20RPURvHb7YBJh/c/pDIXXMp+eO2fh6CkAem1Rx08eUFE9fsR+qdp icSNU8+ZXtCgVQnZyTm+gGPxCvCtXc/CtgvC4xtnra51NGpA+1l1qCSjrO+Eln63HMGq d4cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:to:from; bh=0tVTzxjTDL9OSGB55ipwUPnGpmuuZz3y/Y8BQIw2FkY=; b=YJPH3zndcIGU6tvPSkem8kY1lOQog5+VLe97bOyIiAt2t3Dlce7j8DKqTckO0KcAJj ktyecNcyzBU1vnSNZOBgEHV79TxEKANfp1op9FjWnNmstuQsdhsCv6CADFTh4dUHjHqv KQlMYEmf8zSSJqdgnm73k+XxNmJouPzmS0AZgu6J1YFUnMj5rb3nRovCaIPTf0hg1wAg 1vKlpdeKnrqkuUfE4il4Bo670UmGK3c3m5r5nvhvxB36jGYiYMkh02zGAZWG4ATi9Enf 5DpiM8XWiFSAcRz1aH/KQteGYCl9z/dqczr3xpwp/pu+S1kDCWOola0nrsddzCgvHKdC 6NTg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p123si10050847pga.12.2019.08.19.09.34.07; Mon, 19 Aug 2019 09:34:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728041AbfHSQcI (ORCPT + 99 others); Mon, 19 Aug 2019 12:32:08 -0400 Received: from mx2.suse.de ([195.135.220.15]:55208 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726879AbfHSQcE (ORCPT ); Mon, 19 Aug 2019 12:32:04 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 310AAAFAE; Mon, 19 Aug 2019 16:32:01 +0000 (UTC) From: Thomas Bogendoerfer To: Jonathan Corbet , Ralf Baechle , Paul Burton , James Hogan , Dmitry Torokhov , Lee Jones , "David S. Miller" , Srinivas Kandagatla , Alessandro Zummo , Alexandre Belloni , Greg Kroah-Hartman , Jiri Slaby , Evgeniy Polyakov , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-input@vger.kernel.org, netdev@vger.kernel.org, linux-rtc@vger.kernel.org, linux-serial@vger.kernel.org Subject: [PATCH v5 00/17] Use MFD framework for SGI IOC3 drivers Date: Mon, 19 Aug 2019 18:31:23 +0200 Message-Id: <20190819163144.3478-1-tbogendoerfer@suse.de> X-Mailer: git-send-email 2.13.7 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org GI IOC3 ASIC includes support for ethernet, PS2 keyboard/mouse, NIC (number in a can), GPIO and a byte bus. By attaching a SuperIO chip to it, it also supports serial lines and a parallel port. The chip is used on a variety of SGI systems with different configurations. This patchset moves code out of the network driver, which doesn't belong there, into its new place a MFD driver and specific platform drivers for the different subfunctions. Changes in v5: - requested by Jakub I've splitted ioc3 ethernet driver changes into more steps to make the transition more visible; on the way there I've "checkpatched" the driver and reduced code reorderings - dropped all uint16_t and uint32_t - added nvmem API extension to the documenation file - changed to use request_irq/free_irq in serio driver - removed wrong kfree() in serio error path Changes in v4: - added w1 drivers to the series after merge in 5.3 failed because of no response from maintainer and other parts of this series won't work without that drivers - moved ip30 systemboard support to the ip30 series, which will deal with rtc oddity Lee found - converted to use devm_platform_ioremap_resource - use PLATFORM_DEVID_AUTO for serial, ethernet and serio in mfd driver - fixed reverse christmas order in ioc3-eth.c - formating issue found by Lee - re-worked irq request/free in serio driver to avoid crashes during probe/remove Changes in v3: - use 1-wire subsystem for handling proms - pci-xtalk driver uses prom information to create PCI subsystem ids for use in MFD driver - changed MFD driver to only use static declared mfd_cells - added IP30 system board setup to MFD driver - mac address is now read from ioc3-eth driver with nvmem framework Changes in v2: - fixed issue in ioc3kbd.c reported by Dmitry Torokhov - merged IP27 RTC removal and 8250 serial driver addition into main MFD patch to keep patches bisectable Thomas Bogendoerfer (17): w1: add 1-wire master driver for IP block found in SGI ASICs w1: add DS2501, DS2502, DS2505 EPROM device driver nvmem: core: add nvmem_device_find MIPS: PCI: refactor ioc3 special handling MIPS: PCI: use information from 1-wire PROM for IOC3 detection MIPS: SGI-IP27: remove ioc3 ethernet init MIPS: SGI-IP27: restructure ioc3 register access net: sgi: ioc3-eth: remove checkpatch errors/warning net: sgi: ioc3-eth: use defines for constants dealing with desc rings net: sgi: ioc3-eth: rework skb rx handling net: sgi: ioc3-eth: no need to stop queue set_multicast_list net: sgi: ioc3-eth: use dma-direct for dma allocations net: sgi: ioc3-eth: use csum_fold net: sgi: ioc3-eth: Fix IPG settings mfd: ioc3: Add driver for SGI IOC3 chip MIPS: SGI-IP27: fix readb/writeb addressing Input: add IOC3 serio driver Documentation/driver-api/nvmem.rst | 2 + arch/mips/include/asm/mach-ip27/mangle-port.h | 4 +- arch/mips/include/asm/pci/bridge.h | 1 + arch/mips/include/asm/sn/ioc3.h | 364 +++---- arch/mips/pci/pci-xtalk-bridge.c | 296 ++++-- arch/mips/sgi-ip27/ip27-console.c | 5 +- arch/mips/sgi-ip27/ip27-init.c | 13 - arch/mips/sgi-ip27/ip27-timer.c | 20 - arch/mips/sgi-ip27/ip27-xtalk.c | 38 +- drivers/input/serio/Kconfig | 10 + drivers/input/serio/Makefile | 1 + drivers/input/serio/ioc3kbd.c | 160 +++ drivers/mfd/Kconfig | 13 + drivers/mfd/Makefile | 1 + drivers/mfd/ioc3.c | 586 +++++++++++ drivers/net/ethernet/sgi/Kconfig | 4 +- drivers/net/ethernet/sgi/ioc3-eth.c | 1405 +++++++++---------------- drivers/nvmem/core.c | 62 +- drivers/rtc/rtc-m48t35.c | 11 + drivers/tty/serial/8250/8250_ioc3.c | 98 ++ drivers/tty/serial/8250/Kconfig | 11 + drivers/tty/serial/8250/Makefile | 1 + drivers/w1/masters/Kconfig | 9 + drivers/w1/masters/Makefile | 1 + drivers/w1/masters/sgi_w1.c | 130 +++ drivers/w1/slaves/Kconfig | 6 + drivers/w1/slaves/Makefile | 1 + drivers/w1/slaves/w1_ds250x.c | 293 ++++++ include/linux/nvmem-consumer.h | 9 + include/linux/platform_data/sgi-w1.h | 15 + include/linux/w1.h | 2 + 31 files changed, 2266 insertions(+), 1306 deletions(-) create mode 100644 drivers/input/serio/ioc3kbd.c create mode 100644 drivers/mfd/ioc3.c create mode 100644 drivers/tty/serial/8250/8250_ioc3.c create mode 100644 drivers/w1/masters/sgi_w1.c create mode 100644 drivers/w1/slaves/w1_ds250x.c create mode 100644 include/linux/platform_data/sgi-w1.h -- 2.13.7