From patchwork Tue Feb 5 13:59:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1036765 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="x+8PitUv"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43v5nH4yc2z9sDr for ; Wed, 6 Feb 2019 01:00:19 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729103AbfBEOAG (ORCPT ); Tue, 5 Feb 2019 09:00:06 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:43335 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727127AbfBEOAF (ORCPT ); Tue, 5 Feb 2019 09:00:05 -0500 Received: by mail-wr1-f66.google.com with SMTP id r2so3697815wrv.10 for ; Tue, 05 Feb 2019 06:00:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qwFdzRkd18wMQX0It+mUaqAVIDact01q7gkgyyd7ni8=; b=x+8PitUv0C9NlVoPmO5LFVv0wKagTycFl+A6YE/jv79zaUlqbbsPN/3/Nn4YzNlfdM XihOfw7uEswC1jDERGtQvXd/Jw5bsUXji2Ftceqx+nLMUi22yUKb6Khm+8tUFZmFpI2W +kA8W0FYSXVHPHkoJSmvENDebBl99koxyPxljNedi6BQZqa7Dr1ww0oTTjE3TT5wZHb3 sVNdKx3sIi2oElqeWFYgQiewL/5ny1Se42BNpSWU8585XZ2UylgJJZsT/AKM34I4KTg5 /e2ydVfyxiCYVGz9mC2znpVyRvN0YMiIyaJK4nUFd98tWN6aSTyqPtQoAMe+93h7w6iQ /WeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qwFdzRkd18wMQX0It+mUaqAVIDact01q7gkgyyd7ni8=; b=QGn6dbcd69k3zVgllqqEuyMD/zU8mJljOf+hIxPtqEJ7k7d5MXo7RTUnzrGrwPqw3n a+CTjPVCRlKQ7geSJDMW6vZ7zTVg/snpcZ9uLwsJTkql+T8f7glpU5KGq/61Njma15R9 JoW3crUOEUUAACFeg2GdpFTkIwVmVnUmYICT6wlffwlWPS3LIKJp5+/OJjHCiLdCqLbo TogSxD2c5wi7kz0Q4qInSOjR+Pjf7YPN8m9m4GdyJVJHuNN03jWC5rt0RvzDIBzPNoUj fEyoX8E3V6aMoJa4vzTjRTSHQcVbkG/URKna6ycRx9gfwSGOH28JmfyDZ63v7i8SmHlt lRtg== X-Gm-Message-State: AHQUAuZwgp2hcTpXZTgs1+3c7Hake5eRkQJ58kauE/X/WqNUpIqo5MvC HmgX+SB4ObX/Ohe8ltErPjV/HQ== X-Google-Smtp-Source: AHgI3IbppprLpq38XVFEYjO7PXcjaXpIID36BGfdW8kSSbcXpPkx8R8KAUEx0zy1DITsfnSgyTAxBg== X-Received: by 2002:adf:ff09:: with SMTP id k9mr3598691wrr.97.1549375203235; Tue, 05 Feb 2019 06:00:03 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id y1sm5560379wru.4.2019.02.05.06.00.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 06:00:02 -0800 (PST) From: Bartosz Golaszewski To: Rob Herring , Mark Rutland , Arnd Bergmann , Greg Kroah-Hartman Cc: linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH 1/2] dt-bindings: at24: add the 'num-addresses' property Date: Tue, 5 Feb 2019 14:59:33 +0100 Message-Id: <20190205135934.18841-2-brgl@bgdev.pl> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190205135934.18841-1-brgl@bgdev.pl> References: <20190205135934.18841-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org From: Bartosz Golaszewski Currently the at24 driver only creates additional i2c dummies for atmel,24c00 and it's hard-coded. Some other chips (like for example Microchip's 24AA02T) also take more slave addresses despite being otherwise compatible with already supported variants. Add a new property to the device tree binding document that defines the total number of i2c slave addresses taken by the device. The addresses are counted starting from the one in the reg property. Signed-off-by: Bartosz Golaszewski --- Documentation/devicetree/bindings/eeprom/at24.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/eeprom/at24.txt b/Documentation/devicetree/bindings/eeprom/at24.txt index f9a7c984274c..0e456bbc1213 100644 --- a/Documentation/devicetree/bindings/eeprom/at24.txt +++ b/Documentation/devicetree/bindings/eeprom/at24.txt @@ -75,6 +75,8 @@ Optional properties: - address-width: number of address bits (one of 8, 16). + - num-addresses: total number of i2c slave addresses this device takes + Example: eeprom@52 { @@ -82,4 +84,5 @@ eeprom@52 { reg = <0x52>; pagesize = <32>; wp-gpios = <&gpio1 3 0>; + num-addresses = <8>; }; From patchwork Tue Feb 5 13:59:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 1036763 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=bgdev.pl Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=bgdev-pl.20150623.gappssmtp.com header.i=@bgdev-pl.20150623.gappssmtp.com header.b="eLxHlkR9"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43v5nD50RBz9sNN for ; Wed, 6 Feb 2019 01:00:16 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727380AbfBEOAL (ORCPT ); Tue, 5 Feb 2019 09:00:11 -0500 Received: from mail-wr1-f67.google.com ([209.85.221.67]:37575 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726276AbfBEOAG (ORCPT ); Tue, 5 Feb 2019 09:00:06 -0500 Received: by mail-wr1-f67.google.com with SMTP id s12so3738148wrt.4 for ; Tue, 05 Feb 2019 06:00:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=CcoblHFaFi4RsLO9MO0RZmYRV0JEOPvzVX0oVuZ89dg=; b=eLxHlkR9KU4a/WB6sEzXMS7vYfI0JNcgBUOY/KQPKVMKlNhF+EuSoodN1AV8mqFpfZ No3cDT4kNzotzRLTd1xACimWWxffwikskI81LgQnXE6V0REv36Pfc1h4Vo1C+lXeiFm6 vE03Rk8cqygciI8qJcfNHPR+5Nw5uVdRWiM9/9IPlmxqm3Tt4nMAweotIrGsB5f28eIx 26fEuTaZHiTUBGMJ0hxVoaWZPHZSXg1KQrPjdAFNsutkXzomSVoU67U2rsLIWxIRoOYa TrneDnW7b7beMHPODp5nNRpscrjHg7Q3uVCb6mDVPNVcsvwFO5U3XvmM0UKpgahwfuta Q9zw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=CcoblHFaFi4RsLO9MO0RZmYRV0JEOPvzVX0oVuZ89dg=; b=bFkF1r6oGTOME81ysdWHGIhRNfzppBEFOlWalyz+xr8bPXDYw19ijILmJ5Wcw4F64R agAR607FRZbWzpf3Bx2nYQDIdIgL9oXPj1sDze2ojLwqMPBaBuezthHlNoYPMQJiAwIs D1ibkZ71uaQiBfG3P6d9q6QWK28JiZ+1NYjRxFalpEbYHjnKiC6XD61EWHH7749GHP7H XqwmIkRCwzFK8SMTOoTLJ+Cmmr3+qxuy1TJ45rzrv18u95irzQNPrRMDgHNHnPsdo0X5 tkIx3RKSdvH2mRSNeVgnUsC9FrNE9QwbXAxNotsn5fmVXEs+h0x8ylrKe+z3fBymJjVC XGHQ== X-Gm-Message-State: AHQUAuZsiu9uVxA75mvK4XIw+9UMx9gS+EpQCOWqFaeXmjZNFsGJCy5h 8cWUJQgZOqEupfvFZD7TndoZ4A== X-Google-Smtp-Source: AHgI3IaibYCvQPlV5IRBR/B/r5m5zqLk6pg3cabycXkf/QEmtvDPI0nSqGpzide6akmF+EA3mph/hw== X-Received: by 2002:a5d:6187:: with SMTP id j7mr3822197wru.300.1549375204404; Tue, 05 Feb 2019 06:00:04 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id y1sm5560379wru.4.2019.02.05.06.00.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Feb 2019 06:00:03 -0800 (PST) From: Bartosz Golaszewski To: Rob Herring , Mark Rutland , Arnd Bergmann , Greg Kroah-Hartman Cc: linux-i2c@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH 2/2] eeprom: at24: implement support for 'num-addresses' property Date: Tue, 5 Feb 2019 14:59:34 +0100 Message-Id: <20190205135934.18841-3-brgl@bgdev.pl> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190205135934.18841-1-brgl@bgdev.pl> References: <20190205135934.18841-1-brgl@bgdev.pl> MIME-Version: 1.0 Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org From: Bartosz Golaszewski If the device node defines 'num-addresses', let it override the default behavior. Signed-off-by: Bartosz Golaszewski --- drivers/misc/eeprom/at24.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index b806a403ca46..63aa541c9608 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -641,11 +641,14 @@ static int at24_probe(struct i2c_client *client) if (!is_power_of_2(page_size)) dev_warn(dev, "page_size looks suspicious (no power of 2)!\n"); - if (flags & AT24_FLAG_TAKE8ADDR) - num_addresses = 8; - else - num_addresses = DIV_ROUND_UP(byte_len, - (flags & AT24_FLAG_ADDR16) ? 65536 : 256); + err = device_property_read_u32(dev, "num-addresses", &num_addresses); + if (err) { + if (flags & AT24_FLAG_TAKE8ADDR) + num_addresses = 8; + else + num_addresses = DIV_ROUND_UP(byte_len, + (flags & AT24_FLAG_ADDR16) ? 65536 : 256); + } if ((flags & AT24_FLAG_SERIAL) && (flags & AT24_FLAG_MAC)) { dev_err(dev,