From patchwork Mon Jun 6 08:48:53 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 69373 Delivered-To: patch@linaro.org Received: by 10.140.106.246 with SMTP id e109csp1375748qgf; Mon, 6 Jun 2016 01:50:41 -0700 (PDT) X-Received: by 10.66.123.37 with SMTP id lx5mr23588435pab.101.1465203041417; Mon, 06 Jun 2016 01:50:41 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l76si27232202pfj.253.2016.06.06.01.50.40; Mon, 06 Jun 2016 01:50:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752073AbcFFIug (ORCPT + 31 others); Mon, 6 Jun 2016 04:50:36 -0400 Received: from mail-wm0-f44.google.com ([74.125.82.44]:37541 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752395AbcFFItT (ORCPT ); Mon, 6 Jun 2016 04:49:19 -0400 Received: by mail-wm0-f44.google.com with SMTP id k204so16919977wmk.0 for ; Mon, 06 Jun 2016 01:49:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=6ZofO8QdgnoHR91stibZhh8NTRVpffXUylqbjqjO4Wg=; b=F+8nGZYnF89OOf93XhFD3u56plXyAItJBZQWFsXtUFC1zXWWiX99t4bHqI38fIBG/c 0/Up/p08cgaFDL3ieM2d3Q3sBfwrsbGCIMDv5yPC1/tw4USyX7rb8Yg8Bf8vyws1WnXX NYq6UORnjG8j45B37iuiIBG4o9BWctIRtVvvNifgSxA0XVoWyWxtDpoaySCtNSOt12+P Kj4bLe9TgMYXEKPMjPybU+SFk6XjRq/A0jMU6/yMpXQ6FYdgB/DkWZi5b0aXCftEgf21 CgHsANtMBNaLt4WPkKJLezU01bDuHNKPQ70E/B/UHEXWXxWvN22z4STMjFujkQQHAABo 08Qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=6ZofO8QdgnoHR91stibZhh8NTRVpffXUylqbjqjO4Wg=; b=PQx0nMdNSLUEVIdlogOhiRNcj1+jqmt9E1fZrYwTShG3HNxsHAKfBMeu8ieSiJa0TM H+PMq6yj6OzMwOizQ80Wh2cRzkTsyKHCMRlRboJgXx2ur+yuRJZ9rJ00+4iXpxccd0Uk IT+uB7Op5jiH4qvejo8eWkS7RQ4vUTZZ+D1CRn1clfQWAVMV9LHTYmLSA9l+VFp6SSyM qnafFMDDOUBeyeeGg/bQb07qcQVhd0RWWmCYJCajbRcP3iStf754RffEvj4yre0e1k3X fx4xGV3rQ526bAebpBf8DeDLSJ8BTmc1vPjVbcucuSnznORrAI4etxKHmXP8SM/tdp5C Y4wA== X-Gm-Message-State: ALyK8tKD99DmzorIIaFQ/Blm6l99cCUOkQvKaJ2fSqQM9T2QXSo3o/MN82Y0VEOORn6uGlCp X-Received: by 10.194.123.170 with SMTP id mb10mr14311774wjb.39.1465202957735; Mon, 06 Jun 2016 01:49:17 -0700 (PDT) Received: from localhost.localdomain ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id dd7sm19090384wjb.22.2016.06.06.01.49.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 06 Jun 2016 01:49:17 -0700 (PDT) From: Bartosz Golaszewski To: Wolfram Sang , linux-i2c , LKML , Andrew Lunn , Srinivas Kandagatla , Maxime Ripard , GregKH Cc: Bartosz Golaszewski Subject: [RESEND PATCH 11/14] eeprom: at24: add the at24cs series to the list of supported devices Date: Mon, 6 Jun 2016 10:48:53 +0200 Message-Id: <1465202936-16832-12-git-send-email-bgolaszewski@baylibre.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1465202936-16832-1-git-send-email-bgolaszewski@baylibre.com> References: <1465202936-16832-1-git-send-email-bgolaszewski@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The infrastructure for reading of the factory-programmed serial number for at24cs EEPROM series is now in place. Add the chips that are actually equipped with the serial number memory area to the list of supported devices. The chips from the at24cs family have two memory areas - a regular read-write block and a read-only area containing the serial number. The latter is visible on a different slave address (the address of the rw memory block + 0x08). In order to access both blocks the user needs to instantiate a regular at24c device for the rw block address and a corresponding at24cs device on the serial number block address. Signed-off-by: Bartosz Golaszewski --- drivers/misc/eeprom/at24.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) -- 2.7.4 diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index 29bbdad..0b5240d 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -134,16 +134,34 @@ static const struct i2c_device_id at24_ids[] = { { "24c00", AT24_DEVICE_MAGIC(128 / 8, AT24_FLAG_TAKE8ADDR) }, /* old variants can't be handled with this generic entry! */ { "24c01", AT24_DEVICE_MAGIC(1024 / 8, 0) }, + { "24cs01", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_SERIAL | AT24_FLAG_READONLY) }, { "24c02", AT24_DEVICE_MAGIC(2048 / 8, 0) }, + { "24cs02", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_SERIAL | AT24_FLAG_READONLY) }, /* spd is a 24c02 in memory DIMMs */ { "spd", AT24_DEVICE_MAGIC(2048 / 8, AT24_FLAG_READONLY | AT24_FLAG_IRUGO) }, { "24c04", AT24_DEVICE_MAGIC(4096 / 8, 0) }, + { "24cs04", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_SERIAL | AT24_FLAG_READONLY) }, /* 24rf08 quirk is handled at i2c-core */ { "24c08", AT24_DEVICE_MAGIC(8192 / 8, 0) }, + { "24cs08", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_SERIAL | AT24_FLAG_READONLY) }, { "24c16", AT24_DEVICE_MAGIC(16384 / 8, 0) }, + { "24cs16", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_SERIAL | AT24_FLAG_READONLY) }, { "24c32", AT24_DEVICE_MAGIC(32768 / 8, AT24_FLAG_ADDR16) }, + { "24cs32", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_ADDR16 | + AT24_FLAG_SERIAL | + AT24_FLAG_READONLY) }, { "24c64", AT24_DEVICE_MAGIC(65536 / 8, AT24_FLAG_ADDR16) }, + { "24cs64", AT24_DEVICE_MAGIC(128 / 8, + AT24_FLAG_ADDR16 | + AT24_FLAG_SERIAL | + AT24_FLAG_READONLY) }, { "24c128", AT24_DEVICE_MAGIC(131072 / 8, AT24_FLAG_ADDR16) }, { "24c256", AT24_DEVICE_MAGIC(262144 / 8, AT24_FLAG_ADDR16) }, { "24c512", AT24_DEVICE_MAGIC(524288 / 8, AT24_FLAG_ADDR16) },