1. 21 7月, 2020 20 次提交
    • A
      qed, qede, qedf: convert link mode from u32 to ETHTOOL_LINK_MODE · bdb5d8ec
      Alexander Lobakin 提交于
      Currently qed driver already ran out of 32 bits to store link modes,
      and this doesn't allow to add and support more speeds.
      Convert custom link mode to generic Ethtool bitmap and definitions
      (convenient Phylink shorthands are used for elegance and readability).
      This allowed us to drop all conversions/mappings between the driver
      and Ethtool.
      
      This involves changes in qede and qedf as well, as they used definitions
      from shared "qed_if.h".
      Suggested-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NAlexander Lobakin <alobakin@marvell.com>
      Signed-off-by: NIgor Russkikh <irusskikh@marvell.com>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bdb5d8ec
    • A
      linkmode: introduce linkmode_intersects() · e812916d
      Alexander Lobakin 提交于
      Add a new helper to find intersections between Ethtool link modes,
      linkmode_intersects(), similar to the other linkmode helpers.
      Signed-off-by: NAlexander Lobakin <alobakin@marvell.com>
      Signed-off-by: NIgor Russkikh <irusskikh@marvell.com>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e812916d
    • D
      Merge tag 'wireless-drivers-next-2020-07-20' of... · cfd69201
      David S. Miller 提交于
      Merge tag 'wireless-drivers-next-2020-07-20' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
      
      Kalle Valo says:
      
      ====================
      wireless-drivers-next patches for v5.9
      
      First set of patches for v5.9. This comes later than usual as I was
      offline for two weeks. The biggest change here is moving Microchip
      wilc1000 driver from staging. There was an immutable topic branch with
      one commit moving the whole driver and the topic branch was pulled
      both to staging-next and wireless-drivers-next. At the moment the only
      reported conflict is in MAINTAINERS file, so I'm hoping the move
      should go smoothly.
      
      Other notable changes are ath11k getting 6 GHz band support and rtw88
      supporting RTL8821CE. And there's also the usual fixes, API changes
      and cleanups all over.
      
      Major changes:
      
      wilc1000
      
      * move from drivers/staging to drivers/net/wireless/microchip
      
      ath11k
      
      * add 6G band support
      
      * add spectral scan support
      
      iwlwifi
      
      * make FW reconfiguration quieter by not using warn level
      
      rtw88
      
      * add support for RTL8821CE
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cfd69201
    • C
      sis: switch from 'pci_' to 'dma_' API · 256ca744
      Christophe JAILLET 提交于
      The wrappers in include/linux/pci-dma-compat.h should go away.
      
      The patch has been generated with the coccinelle script below and has been
      hand modified to replace GFP_ with a correct flag.
      It has been compile tested.
      
      When memory is allocated in 'epic_init_one()' (sis190.c), GFP_KERNEL can be
      used because this is a net_device_ops' 'ndo_open' function. This function
      is protected by the rtnl_lock() semaphore. So only a mutex is used and no
      spin_lock is acquired.
      
      When memory is allocated in 'sis900_probe()' (sis900.c), GFP_KERNEL can be
      used because it is a probe function and no spin_lock is acquired.
      
      @@
      @@
      -    PCI_DMA_BIDIRECTIONAL
      +    DMA_BIDIRECTIONAL
      
      @@
      @@
      -    PCI_DMA_TODEVICE
      +    DMA_TO_DEVICE
      
      @@
      @@
      -    PCI_DMA_FROMDEVICE
      +    DMA_FROM_DEVICE
      
      @@
      @@
      -    PCI_DMA_NONE
      +    DMA_NONE
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_alloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_zalloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_free_consistent(e1, e2, e3, e4)
      +    dma_free_coherent(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_single(e1, e2, e3, e4)
      +    dma_map_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_single(e1, e2, e3, e4)
      +    dma_unmap_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4, e5;
      @@
      -    pci_map_page(e1, e2, e3, e4, e5)
      +    dma_map_page(&e1->dev, e2, e3, e4, e5)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_page(e1, e2, e3, e4)
      +    dma_unmap_page(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_sg(e1, e2, e3, e4)
      +    dma_map_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_sg(e1, e2, e3, e4)
      +    dma_unmap_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
      +    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_device(e1, e2, e3, e4)
      +    dma_sync_single_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
      +    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
      +    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2;
      @@
      -    pci_dma_mapping_error(e1, e2)
      +    dma_mapping_error(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_dma_mask(e1, e2)
      +    dma_set_mask(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_consistent_dma_mask(e1, e2)
      +    dma_set_coherent_mask(&e1->dev, e2)
      Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      256ca744
    • C
      r6040: switch from 'pci_' to 'dma_' API · 0b0edb99
      Christophe JAILLET 提交于
      The wrappers in include/linux/pci-dma-compat.h should go away.
      
      The patch has been generated with the coccinelle script below and has been
      hand modified to replace GFP_ with a correct flag.
      It has been compile tested.
      
      When memory is allocated in 'r6040_open()', GFP_KERNEL can be used because
      this is a net_device_ops' 'ndo_open' function. This function is protected
      by the rtnl_lock() semaphore. So only a mutex is used and no spin_lock is
      acquired.
      
      @@
      @@
      -    PCI_DMA_BIDIRECTIONAL
      +    DMA_BIDIRECTIONAL
      
      @@
      @@
      -    PCI_DMA_TODEVICE
      +    DMA_TO_DEVICE
      
      @@
      @@
      -    PCI_DMA_FROMDEVICE
      +    DMA_FROM_DEVICE
      
      @@
      @@
      -    PCI_DMA_NONE
      +    DMA_NONE
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_alloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_zalloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_free_consistent(e1, e2, e3, e4)
      +    dma_free_coherent(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_single(e1, e2, e3, e4)
      +    dma_map_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_single(e1, e2, e3, e4)
      +    dma_unmap_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4, e5;
      @@
      -    pci_map_page(e1, e2, e3, e4, e5)
      +    dma_map_page(&e1->dev, e2, e3, e4, e5)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_page(e1, e2, e3, e4)
      +    dma_unmap_page(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_sg(e1, e2, e3, e4)
      +    dma_map_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_sg(e1, e2, e3, e4)
      +    dma_unmap_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
      +    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_device(e1, e2, e3, e4)
      +    dma_sync_single_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
      +    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
      +    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2;
      @@
      -    pci_dma_mapping_error(e1, e2)
      +    dma_mapping_error(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_dma_mask(e1, e2)
      +    dma_set_mask(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_consistent_dma_mask(e1, e2)
      +    dma_set_coherent_mask(&e1->dev, e2)
      Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Acked-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0b0edb99
    • C
      net: packetengines: switch from 'pci_' to 'dma_' API · 73e283df
      Christophe JAILLET 提交于
      The wrappers in include/linux/pci-dma-compat.h should go away.
      
      The patch has been generated with the coccinelle script below and has been
      hand modified to replace GFP_ with a correct flag.
      It has been compile tested.
      
      When memory is allocated in 'hamachi_init_one()' (hamachi.c), GFP_KERNEL
      can be used because it is a probe function and no lock is acquired.
      
      When memory is allocated in 'yellowfin_init_one()' (yellowfin.c),
      GFP_KERNEL can be used because it is a probe function and no lock is
      acquired.
      
      @@
      @@
      -    PCI_DMA_BIDIRECTIONAL
      +    DMA_BIDIRECTIONAL
      
      @@
      @@
      -    PCI_DMA_TODEVICE
      +    DMA_TO_DEVICE
      
      @@
      @@
      -    PCI_DMA_FROMDEVICE
      +    DMA_FROM_DEVICE
      
      @@
      @@
      -    PCI_DMA_NONE
      +    DMA_NONE
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_alloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_zalloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_free_consistent(e1, e2, e3, e4)
      +    dma_free_coherent(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_single(e1, e2, e3, e4)
      +    dma_map_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_single(e1, e2, e3, e4)
      +    dma_unmap_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4, e5;
      @@
      -    pci_map_page(e1, e2, e3, e4, e5)
      +    dma_map_page(&e1->dev, e2, e3, e4, e5)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_page(e1, e2, e3, e4)
      +    dma_unmap_page(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_sg(e1, e2, e3, e4)
      +    dma_map_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_sg(e1, e2, e3, e4)
      +    dma_unmap_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
      +    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_device(e1, e2, e3, e4)
      +    dma_sync_single_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
      +    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
      +    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2;
      @@
      -    pci_dma_mapping_error(e1, e2)
      +    dma_mapping_error(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_dma_mask(e1, e2)
      +    dma_set_mask(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_consistent_dma_mask(e1, e2)
      +    dma_set_coherent_mask(&e1->dev, e2)
      Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      73e283df
    • C
      arch, net: remove the last csum_partial_copy() leftovers · f1bfd71c
      Christoph Hellwig 提交于
      Most of the tree only uses and implements csum_partial_copy_nocheck,
      but the c6x and lib/checksum.c implement a csum_partial_copy that
      isn't used anywere except to define csum_partial_copy.  Get rid of
      this pointless alias.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f1bfd71c
    • Z
      net: fs_enet: remove redundant null check · cebd2cac
      Zhang Changzhong 提交于
      Because clk_prepare_enable and clk_disable_unprepare already
      checked NULL clock parameter, so the additional checks are
      unnecessary, just remove them.
      Signed-off-by: NZhang Changzhong <zhangchangzhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cebd2cac
    • D
      Merge branch 'net-macb-Wake-on-Lan-magic-packet-GEM-and-MACB-handling' · 87c831ce
      David S. Miller 提交于
      Nicolas Ferre says:
      
      ====================
      net: macb: Wake-on-Lan magic packet GEM and MACB handling
      
      Here is the second part of support for WoL magic-packet on the current macb
      driver. This one
      is addressing the bulk of the feature and is based on current net-next/master.
      
      MACB and GEM code must co-exist and as they don't share exactly the same
      register layout, I had to specialize a bit the suspend/resume paths and plug a
      specific IRQ handler in order to avoid overloading the "normal" IRQ hot path.
      
      These changes were tested on both sam9x60 which embeds a MACB+FIFO controller
      and sama5d2 which has a GEM+packet buffer type of controller.
      
      Best regards,
        Nicolas
      
      Changes in v7:
      - Release the spinlock before exiting macb_suspend/resume in case of error
        changing IRQ handler
      
      Changes in v6:
      - rebase on net-next/master now that the "fixes" patches of the series are
        merged in both net and net-next.
      - GEM addition and MACB update to finish the support of WoL magic-packet on the
        two revisions of the controller.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      87c831ce
    • N
      net: macb: Add WoL interrupt support for MACB type of Ethernet controller · 9d45c8e8
      Nicolas Ferre 提交于
      Handle the Wake-on-Lan interrupt for the Cadence MACB Ethernet
      controller.
      As we do for the GEM version, we handle of WoL interrupt in a
      specialized interrupt handler for MACB version that is positionned
      just between suspend() and resume() calls.
      
      Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
      Cc: Harini Katakam <harini.katakam@xilinx.com>
      Signed-off-by: NNicolas Ferre <nicolas.ferre@microchip.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9d45c8e8
    • N
      net: macb: WoL support for GEM type of Ethernet controller · 558e35cc
      Nicolas Ferre 提交于
      Adapt the Wake-on-Lan feature to the Cadence GEM Ethernet controller.
      This controller has different register layout and cannot be handled by
      previous code.
      We disable completely interrupts on all the queues but the queue 0.
      Handling of WoL interrupt is done in another interrupt handler
      positioned depending on the controller version used, just between
      suspend() and resume() calls.
      It allows to lower pressure on the generic interrupt hot path by
      removing the need to handle 2 tests for each IRQ: the first figuring out
      the controller revision, the second for actually knowing if the WoL bit
      is set.
      
      Queue management in suspend()/resume() functions inspired from RFC patch
      by Harini Katakam <harinik@xilinx.com>, thanks!
      
      Cc: Claudiu Beznea <claudiu.beznea@microchip.com>
      Cc: Harini Katakam <harini.katakam@xilinx.com>
      Signed-off-by: NNicolas Ferre <nicolas.ferre@microchip.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      558e35cc
    • J
      sched: sch_api: add missing rcu read lock to silence the warning · a8b7b2d0
      Jiri Pirko 提交于
      In case the qdisc_match_from_root function() is called from non-rcu path
      with rtnl mutex held, a suspiciout rcu usage warning appears:
      
      [  241.504354] =============================
      [  241.504358] WARNING: suspicious RCU usage
      [  241.504366] 5.8.0-rc4-custom-01521-g72a7c7d549c3 #32 Not tainted
      [  241.504370] -----------------------------
      [  241.504378] net/sched/sch_api.c:270 RCU-list traversed in non-reader section!!
      [  241.504382]
                     other info that might help us debug this:
      [  241.504388]
                     rcu_scheduler_active = 2, debug_locks = 1
      [  241.504394] 1 lock held by tc/1391:
      [  241.504398]  #0: ffffffff85a27850 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x49a/0xbd0
      [  241.504431]
                     stack backtrace:
      [  241.504440] CPU: 0 PID: 1391 Comm: tc Not tainted 5.8.0-rc4-custom-01521-g72a7c7d549c3 #32
      [  241.504446] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-2.fc32 04/01/2014
      [  241.504453] Call Trace:
      [  241.504465]  dump_stack+0x100/0x184
      [  241.504482]  lockdep_rcu_suspicious+0x153/0x15d
      [  241.504499]  qdisc_match_from_root+0x293/0x350
      
      Fix this by passing the rtnl held lockdep condition down to
      hlist_for_each_entry_rcu()
      Reported-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a8b7b2d0
    • W
      net: ena: Fix using plain integer as NULL pointer in ena_init_napi_in_range · d89d8d4d
      Wang Hai 提交于
      Fix sparse build warning:
      
      drivers/net/ethernet/amazon/ena/ena_netdev.c:2193:34: warning:
       Using plain integer as NULL pointer
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: NWang Hai <wanghai38@huawei.com>
      Suggested-by: NJoe Perches <joe@perches.com>
      Acked-by: NShay Agroskin <shayagr@amazon.com>
      Acked-by: NShay Agroskin <shayagr@amazon.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d89d8d4d
    • X
      net: hns: use eth_broadcast_addr() to assign broadcast address · 74b5afea
      Xu Wang 提交于
      This patch is to use eth_broadcast_addr() to assign broadcast address
      insetad of memset().
      Signed-off-by: NXu Wang <vulab@iscas.ac.cn>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      74b5afea
    • D
      Merge branch 'net-dsa-Setup-dsa_netdev_ops' · 202a5d5a
      David S. Miller 提交于
      Florian Fainelli says:
      
      ====================
      net: dsa: Setup dsa_netdev_ops
      
      This patch series addresses the overloading of a DSA CPU/management
      interface's netdev_ops for the purpose of providing useful information
      from the switch side.
      
      Up until now we had duplicated the existing netdev_ops structure and
      added specific function pointers to return information of interest. Here
      we have a more controlled way of doing this by involving the specific
      netdev_ops function pointers that we want to be patched, which is easier
      for auditing code in the future. As a byproduct we can now maintain
      netdev_ops pointer comparisons which would be failing before (no known
      in tree problems because of that though).
      
      Let me know if this approach looks reasonable to you and we might do the
      same with our ethtool_ops overloading as well.
      
      Changes in v2:
      
      - use static inline int vs. static int inline (Kbuild robot)
      - fixed typos in patch 4 (Andrew)
      - avoid using macros (Andrew)
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      202a5d5a
    • F
      net: dsa: Setup dsa_netdev_ops · 9c0c7014
      Florian Fainelli 提交于
      Now that we have all the infrastructure in place for calling into the
      dsa_ptr->netdev_ops function pointers, install them when we configure
      the DSA CPU/management interface and tear them down. The flow is
      unchanged from before, but now we preserve equality of tests when
      network device drivers do tests like dev->netdev_ops == &foo_ops which
      was not the case before since we were allocating an entirely new
      structure.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9c0c7014
    • F
      net: Call into DSA netdevice_ops wrappers · 3369afba
      Florian Fainelli 提交于
      Make the core net_device code call into our ndo_do_ioctl() and
      ndo_get_phys_port_name() functions via the wrappers defined previously
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3369afba
    • F
      net: dsa: Add wrappers for overloaded ndo_ops · 4cfab356
      Florian Fainelli 提交于
      Add definitions for the dsa_netdevice_ops structure which is a subset of
      the net_device_ops structure for the specific operations that we care
      about overlaying on top of the DSA CPU port net_device and provide
      inline stubs that take core managing whether DSA code is reachable.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4cfab356
    • F
      net: Wrap ndo_do_ioctl() to prepare for DSA stacked ops · aad74d84
      Florian Fainelli 提交于
      In preparation for adding another layer of call into a DSA stacked ops
      singleton, wrap the ndo_do_ioctl() call into dev_do_ioctl().
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aad74d84
    • X
      net: vxge-main: Remove unnecessary cast in kfree() · 88a3c454
      Xu Wang 提交于
      Remove unnecassary casts in the argument to kfree.
      Signed-off-by: NXu Wang <vulab@iscas.ac.cn>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      88a3c454
  2. 20 7月, 2020 20 次提交