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,