lkml.org 
[lkml]   [2022]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH net-next 5/6] net: marvell: prestera: Avoid unnecessary DT lookups
    Date
    This driver fist makes an expensive DT lookup to retrieve its DT node
    (this is a PCI driver) in order to later search for the
    base-mac-provider property. This property has no reality upstream and
    this code should not have been accepted like this in the first
    place. Instead, there is a proper nvmem interface that should be
    used. Let's avoid these extra lookups and rely on the nvmem internal
    logic.

    Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
    ---
    .../net/ethernet/marvell/prestera/prestera_main.c | 15 ++++-----------
    1 file changed, 4 insertions(+), 11 deletions(-)

    diff --git a/drivers/net/ethernet/marvell/prestera/prestera_main.c b/drivers/net/ethernet/marvell/prestera/prestera_main.c
    index 24f9d6024745..d4b48f674a88 100644
    --- a/drivers/net/ethernet/marvell/prestera/prestera_main.c
    +++ b/drivers/net/ethernet/marvell/prestera/prestera_main.c
    @@ -862,17 +862,10 @@ static void prestera_event_handlers_unregister(struct prestera_switch *sw)

    static int prestera_switch_set_base_mac_addr(struct prestera_switch *sw)
    {
    - struct device_node *base_mac_np;
    - int ret = 0;
    -
    - if (sw->np) {
    - base_mac_np = of_parse_phandle(sw->np, "base-mac-provider", 0);
    - if (base_mac_np) {
    - ret = of_get_mac_address(base_mac_np, sw->base_mac);
    - of_node_put(base_mac_np);
    - }
    - }
    + int ret;

    + if (sw->np)
    + ret = of_get_mac_address(sw->np, sw->base_mac);
    if (!is_valid_ether_addr(sw->base_mac) || ret) {
    eth_random_addr(sw->base_mac);
    dev_info(prestera_dev(sw), "using random base mac address\n");
    @@ -1376,7 +1369,7 @@ static int prestera_switch_init(struct prestera_switch *sw)
    {
    int err;

    - sw->np = of_find_compatible_node(NULL, NULL, "marvell,prestera");
    + sw->np = sw->dev->dev->of_node;

    err = prestera_hw_switch_init(sw);
    if (err) {
    --
    2.34.1
    \
     
     \ /
      Last update: 2022-11-17 22:57    [W:2.482 / U:0.236 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site