Received: by 2002:a05:6a10:a841:0:0:0:0 with SMTP id d1csp2232883pxy; Sat, 24 Apr 2021 09:02:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJySndcxVYx6ZTQcptxGHYxubendrRRrXFABOP7PH19MskDhCPbIfSzR3TD9jYpBcaQ8YSxT X-Received: by 2002:a05:6402:3591:: with SMTP id y17mr10972143edc.67.1619280162300; Sat, 24 Apr 2021 09:02:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619280162; cv=none; d=google.com; s=arc-20160816; b=nX4dExF6ebvHgUsEjjcKA6oaVnEG+n8J62WmhUtN8FHaI3+VJEg7jBnqUtWzs2osOr Y1lNBwySjqvA0oMImLEY9s1guGEPRPtbMHRdEp4/MpE6XLXnmJqTa40pOLkwdjoeF57S VXyhZusPAWGDpVL2rACGF2qc5XhftAaW6xeaKUxRQHbawjFb1W7HtQlYacfs0C27TEAi Gu0OfCsbmG9t6A9tZblg8RqDyMRRTOhdMuH7L0jNZH6OTI5BQJkli2Yicc6MP0HJA3jn 3aPZRRVasA/Xx8x0qObdISKfNASTOsDggQ0Ii5MCuXqK6lzEPmv498DNf1TqSGqn+m7g ST8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=ovfBRLgkm/AmZH3LJ1eObMOmuV+VmbtveftIH8wQnMY=; b=oh6ukejjR4xXPEKjdM6rDuB1Ey3yDprDtS33B0LpkGl4SRpGVUhWQccPTQfuRE5Xu3 j6eFX3/1hccL2u1KdUNx2+dSmA+b1s6iz5eUgsB8NEISM+1CHh7FYuTUmMK7NaDllyQd q3QKZyTWd2TWWJ6CCwJ9VBYDBnNKK0u6lUwRXbDMcFT3ITpxHP1G/ZmJdeCrjDCyKxFT GQcIq3uQjHY0MvoaPdbOyOrg6yTCdQEGfZQMPvkfra/FVaci2pcUCzjzHQEyo5XdICp1 NnM2JkjoptiLB2XO6BU3hnR6Bw1QHO1P7TjTDne606h0/vv97/jfSKpabe/OlvYJNUvo jIgA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n3si8593664ejz.565.2021.04.24.09.02.18; Sat, 24 Apr 2021 09:02:42 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235872AbhDXQBu (ORCPT + 99 others); Sat, 24 Apr 2021 12:01:50 -0400 Received: from vps0.lunn.ch ([185.16.172.187]:39386 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230010AbhDXQBt (ORCPT ); Sat, 24 Apr 2021 12:01:49 -0400 Received: from andrew by vps0.lunn.ch with local (Exim 4.94) (envelope-from ) id 1laKiP-000ppG-UI; Sat, 24 Apr 2021 18:01:05 +0200 Date: Sat, 24 Apr 2021 18:01:05 +0200 From: Andrew Lunn To: Oleksij Rempel Cc: Woojung Huh , UNGLinuxDriver@microchip.com, Florian Fainelli , Vivien Didelot , Vladimir Oltean , "David S. Miller" , Jakub Kicinski , Michael Grzeschik , kernel@pengutronix.de, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Russell King Subject: Re: [PATCH net-next v6 08/10] net: dsa: microchip: Add Microchip KSZ8863 SMI based driver support Message-ID: References: <20210423080218.26526-1-o.rempel@pengutronix.de> <20210423080218.26526-9-o.rempel@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210423080218.26526-9-o.rempel@pengutronix.de> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > +static int ksz8863_mdio_read(void *ctx, const void *reg_buf, size_t reg_len, > + void *val_buf, size_t val_len) > +{ > + struct ksz_device *dev = ctx; > + struct ksz8 *ksz8 = dev->priv; > + struct mdio_device *mdev = ksz8->priv; > + u8 reg = *(u8 *)reg_buf; > + u8 *val = val_buf; > + int ret = 0; > + int i; ... > + > + mutex_lock_nested(&mdev->bus->mdio_lock, MDIO_MUTEX_NESTED); > + for (i = 0; i < val_len; i++) { > + int tmp = reg + i; > + > + ret = __mdiobus_read(mdev->bus, ((tmp & 0xE0) >> 5) | > + SMI_KSZ88XX_READ_PHY, tmp); > + if (ret < 0) > + goto out; > + > + val[i] = ret; > + } > + ret = 0; > + > + out: > + mutex_unlock(&mdev->bus->mdio_lock); > + > + return ret; > +} > + > +static int ksz8863_mdio_write(void *ctx, const void *data, size_t count) > +{ > + struct ksz_device *dev = ctx; > + struct ksz8 *ksz8 = dev->priv; > + struct mdio_device *mdev = ksz8->priv; > + u8 *val = (u8 *)(data + 4); > + u32 reg = *(u32 *)data; > + int ret = 0; > + int i; ... > +static const struct of_device_id ksz8863_dt_ids[] = { > + { .compatible = "microchip,ksz8863" }, > + { .compatible = "microchip,ksz8873" }, > + { }, > +}; Is there code somewhere which verifies that what has been found really does match what is in device tree? We don't want errors in the device tree to be ignored. Andrew