From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753386AbcEYH4d (ORCPT ); Wed, 25 May 2016 03:56:33 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:43848 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751025AbcEYH4a (ORCPT ); Wed, 25 May 2016 03:56:30 -0400 X-AuditID: cbfee68e-f79b26d0000013da-2b-57455aab67fe From: Pankaj Dubey To: linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: arnd@arndb.de, k.kozlowski@samsung.com, thomas.ab@samsung.com, kgene@kernel.org, Pankaj Dubey Subject: [PATCH v6 0/2] Introducing Exynos ChipId driver Date: Wed, 25 May 2016 13:28:22 +0530 Message-id: <1464163104-8163-1-git-send-email-pankaj.dubey@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrKLMWRmVeSWpSXmKPExsVy+t8zI93VUa7hBosnSVn8nXSM3eL1C0OL /sevmS02Pb7GanF51xw2ixnn9zFZLNr6hd2iYxmjA4fH71+TGD02repk89i8pN6jb8sqRo/P m+QCWKO4bFJSczLLUov07RK4Mjqnz2UvuCFdcWa5awPjadEuRk4OCQETiYkX5jNC2GISF+6t Z+ti5OIQEljJKPHv1QdWmKL9k3ezQiRmMUq8/N3NCOH8ZJRYu3oGWDubgK7Ek/dzmUFsEYFs iSuN98FsZoE6iYbXq8FsYQELiQe32tlBbBYBVYmXL/vYQGxeAXeJM/t2MUNsk5M4eWwy2DYJ gWZ2iWXH77NCNAhIfJt8iKWLkQMoISux6QBUvaTEwRU3WCYwCi5gZFjFKJpakFxQnJReZKRX nJhbXJqXrpecn7uJERK6fTsYbx6wPsQowMGoxMMrsM4lXIg1say4MvcQoynQhonMUqLJ+cAI ySuJNzQ2M7IwNTE1NjK3NFMS502Q+hksJJCeWJKanZpakFoUX1Sak1p8iJGJg1OqgdFpi9jh GQ/0sr5+4Pe7sO1zifEZKeVD4hwTT6qUrtqezfvYQnn2E0OvmpuT1v3LP81669XO4ntNef8W mZlqfptWbusTPklq3rpDe5+yNnXZaGRM4X6Ut8xT3nl3X7j5FL7i6rot20qeeq+oan9y9ciB ng6NK298D7+b+vn1FYkLgXb3BPuV7NqVWIozEg21mIuKEwHMOuMqWAIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprEIsWRmVeSWpSXmKPExsVy+t9jQd3VUa7hBkd7RC3+TjrGbvH6haFF /+PXzBabHl9jtbi8aw6bxYzz+5gsFm39wm7RsYzRgcPj969JjB6bVnWyeWxeUu/Rt2UVo8fn TXIBrFENjDYZqYkpqUUKqXnJ+SmZeem2St7B8c7xpmYGhrqGlhbmSgp5ibmptkouPgG6bpk5 QJcoKZQl5pQChQISi4uV9O0wTQgNcdO1gGmM0PUNCYLrMTJAAwnrGDM6p89lL7ghXXFmuWsD 42nRLkZODgkBE4n9k3ezQthiEhfurWfrYuTiEBKYxSjx8nc3I4Tzk1Fi7eoZjCBVbAK6Ek/e z2UGsUUEsiWuNN4Hs5kF6iQaXq8Gs4UFLCQe3GpnB7FZBFQlXr7sYwOxeQXcJc7s28UMsU1O 4uSxyawTGLkXMDKsYpRILUguKE5KzzXKSy3XK07MLS7NS9dLzs/dxAiOj2fSOxgP73I/xCjA wajEwyuwziVciDWxrLgy9xCjBAezkgjvvhDXcCHelMTKqtSi/Pii0pzU4kOMpkAHTGSWEk3O B8ZuXkm8obGJmZGlkZmFkYm5uZI47+P/68KEBNITS1KzU1MLUotg+pg4OKUaGPf1rtjO6cP1 hZ9VcJHVmwUN4UpRd29yCn75ViT/893bQ1v0q7uzz0za4HtC8vjErO833Nx2Sq1mtncLCXM4 UHz6YM8Ht+OLHtfu/plQ9v/1lZe2OawhYi9q6swDZrYmN1/Zomakx3pQ9tShQG8J3c7Dev1z H19JUckKNLpy7UIFh3iT8RS1u0osxRmJhlrMRcWJAP3x/3GlAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Once again I am respinning this quite old patch series to introduce Exynos Chipid driver. This patch series introduces Exynos Chipid platform driver. Each Exynos SoC has ChipID block which can give information about SoC's product Id and revision number. At the same time it reduces dependency of mach-exynos files from plat-samsung, by removing samsung_rev API, similar API is introduced in chipid driver itself to get revision number and product id. I have tested this patch series on Exynos5880 based Chromebook for normal system boot and S2R. Revisiion 5 and it's discussion can be found here - http://lists.infradead.org/pipermail/linux-arm-kernel/2014-December/310046.html Revision 4 and it's discussion can be found here - https://lkml.org/lkml/2014/12/3/115 Change since v5: - Addressed Rob's review comments. - Rebased on latest krzk/for-next branch and retested. Changes since v4: - Removed custom sysfs entries as they were not providing any new information as pointed out by Arnd. - Removed functions exporting product_id and revision, instead we will export exynos_chipid_info structure. It will be helpfull when we need to provide more fields of chipid outside of chipid, as commented by Yadwinder - Converted all funcions as __init. Change since v3: - This patch set contains 5/6 and 6/6 patch from v3 series. - Made EXYNOS_CHIPID config option non-user selectable, as suggested by Tomasz Figa. - Made uniform macro for EXYNOS4/5_SOC_MASK as EXYNOS_SOC_MASK as suggested by Tomasz Figa. - Made local variables static in chipid driver. - Added existing SoC's product id's. - Added platform driver support. Changes since v2: - Reorganized patches as suggested by Tomasz Figa. - Addressed review comments of Tomasz Figa in i2c-s3c2410.c file. Changes since v1: - Added patch to move i2c interrupt re-configuration code from exynos.c to i2c driver, as suggested by Arnd. - After above patch only user of SYS_I2C_CFG register is pm.c so moving save/restore of this register also into i2c driver. - Spiltted up exynos4 and exynos5 machine descriptors to get rid from soc_is_exynos4/exynos5 kind of macros, as suggested by Arnd. - Changed location of chipid driver to "drivers/soc". - Added drivers/base/soc.c provided infrastructure to make SoC specific information avaible to user space via sysfs entry, as suggested by Arnd. Pankaj Dubey (2): soc: samsung: add exynos chipid driver support ARM: EXYNOS: refactoring of mach-exynos to enable chipid driver arch/arm/mach-exynos/Kconfig | 1 + arch/arm/mach-exynos/common.h | 53 ++++----- arch/arm/mach-exynos/exynos.c | 49 ++------ arch/arm/mach-exynos/include/mach/map.h | 2 - arch/arm/mach-exynos/platsmp.c | 2 +- arch/arm/mach-exynos/pm.c | 8 +- arch/arm/plat-samsung/cpu.c | 14 --- arch/arm/plat-samsung/include/plat/cpu.h | 2 - arch/arm/plat-samsung/include/plat/map-s5p.h | 1 - drivers/soc/samsung/Kconfig | 5 + drivers/soc/samsung/Makefile | 1 + drivers/soc/samsung/exynos-chipid.c | 172 +++++++++++++++++++++++++++ include/linux/soc/samsung/exynos-soc.h | 51 ++++++++ 13 files changed, 266 insertions(+), 95 deletions(-) create mode 100644 drivers/soc/samsung/exynos-chipid.c create mode 100644 include/linux/soc/samsung/exynos-soc.h -- 2.4.5