From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 57DB61C08AF for ; Mon, 30 Jul 2018 14:45:15 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 558922E754 for ; Mon, 30 Jul 2018 14:45:15 +0000 (UTC) Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pBKt5aPUN4TY for ; Mon, 30 Jul 2018 14:45:14 +0000 (UTC) Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by silver.osuosl.org (Postfix) with ESMTPS id 7B0C82CB92 for ; Mon, 30 Jul 2018 14:45:14 +0000 (UTC) Received: by mail-wr1-f65.google.com with SMTP id j5-v6so13203321wrr.8 for ; Mon, 30 Jul 2018 07:45:14 -0700 (PDT) From: Sergio Paracuellos Subject: [PATCH v6 00/15] staging: mt7621-pci: avoid custom pci config read and writes Date: Mon, 30 Jul 2018 16:44:54 +0200 Message-Id: <1532961909-25816-1-git-send-email-sergio.paracuellos@gmail.com> List-Id: Linux Driver Project Developer List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: gregkh@linuxfoundation.org Cc: neil@brown.name, driverdev-devel@linuxdriverproject.org This patch series include an attempt to avoid the use of custom read and writes in driver code and use PCI subsystem common ones. In order to do this 'map_bus' callback is implemented and also data structures for driver are included. The regs base address is being readed from device tree and the driver gets clean a lot of code. Also the driver get removes all legacy PCI code using now PCI_DRIVERS_GENERIC. Changes in v6: - Reorder patches to be each patch correct in itself. - PATCH 1 adds also Kconfig to do the step from legacy to generic code - PATCH 1 remaps io space using devm_pci_remap_iospace for io resource in a new function called 'mt7621_pci_parse_request_of_pci_ranges'. - Other patches rebased and adapted with this changes. Changes in v5: - Include driver Kconfig file to add compilation depends of PCI_DRIVERS_GENERIC. The new added configuration option is CONFIG_PCI_MT7621. - Add list_splice_init(&res, &bridge->windows); in PATCH 1 to set windows from resources obtanined from devm_request_pci_bus_resources. - Move devm_of_pci_get_host_bridge_resources and devm_request_pci_bus_resources after the ports initialization legacy code. - Add pcie ports 1 and 2 RC registers to device tree. There was only being included port RC register for port 0. - Review includes and order them alphabetically. Changes in v4: - Rebased onto staging-next. Changes in v3: - Include new patches to delete all RALINK_BASE definition dependant code and be able to avoid use of pci_legacy code. - use devm_of_pci_get_host_bridge_resources, devm_request_pci_bus_resources and pci_scan_root_bus_bridge and pci_bus_add_devices Changes in v2: - squash PATCH 1 and PATCH 2 of previous series in only PATCH 1 - Change name for host structure. - Create a new port structure (platform has 3 pcie controllers) - Replace the use of pci_generic_config_[read|write]32 in favour of pci_generic_config_[read|write] and change map_bus implemen- tation for hopefully the right one. Best regards, Sergio Paracuellos Sergio Paracuellos (15): staging: mt7621-pci: use generic kernel pci subsystem read and write staging: mt7621-pci: remove dead code derived to not use custom reads and writes staging: mt7621-pci: add pcie_write and pcie_read helpers staging: mt7621-pci: use pcie_[read|write] in [write|read]_config staging: mt7621-pci: simplify read_config function staging: mt7621-pci: simplify write_config function staging: mt7621-pci: remove unused macros staging: mt7621-pci: avoid register duplication per controller using pcie_[read|write] staging: mt7621-pci: review includes putting them in alphabethic order staging: mt7621-pci: use pcie_[read|write] in RALINK_PCI_PCICFG_ADDR and RALINK_PCI_PCIMSK_ADDR staging: mt7621-pci: remove RALINK_PCI_BASE from remaining definitions staging: mt7621-pci: use BIT macro in preprocessor definitions staging: mt7621-pci: rename RALINK_PCI_CONFIG_DATA_VIRTUAL_REG definition staging: mt7621-pci: remove remaining pci_legacy dependant code staging: mt7621-dts: add pcie controller port registers drivers/staging/Kconfig | 2 + drivers/staging/mt7621-dts/mt7621.dtsi | 6 +- drivers/staging/mt7621-pci/Kconfig | 7 + drivers/staging/mt7621-pci/pci-mt7621.c | 716 +++++++++++++++----------------- 4 files changed, 347 insertions(+), 384 deletions(-) create mode 100644 drivers/staging/mt7621-pci/Kconfig -- 2.7.4 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel