From patchwork Mon Feb 15 05:22:42 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 8309611 Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id E3D62C02AA for ; Mon, 15 Feb 2016 05:24:06 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 107A3204EB for ; Mon, 15 Feb 2016 05:24:06 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id D411E204D8 for ; Mon, 15 Feb 2016 05:24:04 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id DAC67261527; Mon, 15 Feb 2016 06:24:03 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Status: No, score=-1.8 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,NO_DNS_FOR_FROM,RCVD_IN_DNSWL_NONE,T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=no version=3.3.1 Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 152DD261563; Mon, 15 Feb 2016 06:23:22 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id DD3EC261566; Mon, 15 Feb 2016 06:23:20 +0100 (CET) Received: from relmlie1.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by alsa0.perex.cz (Postfix) with ESMTP id 84DF2261585 for ; Mon, 15 Feb 2016 06:23:00 +0100 (CET) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie1.idc.renesas.com with ESMTP; 15 Feb 2016 14:22:58 +0900 Received: from relmlac2.idc.renesas.com (relmlac2.idc.renesas.com [10.200.69.22]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id B53A4528CB; Mon, 15 Feb 2016 14:22:58 +0900 (JST) Received: by relmlac2.idc.renesas.com (Postfix, from userid 0) id ADE972806E; Mon, 15 Feb 2016 14:22:58 +0900 (JST) Received: from relmlac2.idc.renesas.com (localhost [127.0.0.1]) by relmlac2.idc.renesas.com (Postfix) with ESMTP id A63552806D; Mon, 15 Feb 2016 14:22:58 +0900 (JST) Received: from relmlii2.idc.renesas.com [10.200.68.66] by relmlac2.idc.renesas.com with ESMTP id QAF11872; Mon, 15 Feb 2016 14:22:58 +0900 X-IronPort-AV: E=Sophos;i="5.22,449,1449500400"; d="scan'";a="205588933" Received: from mail-pu1apc01lp0018.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.18]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA; 15 Feb 2016 14:22:57 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=TNa6OghJQ2zHLM3FhVDirEclVt7nlQgDFZGSuErOTxI=; b=Q2rH5biDuycP3NsTdecqp5eiI4GdmzL7PUUVqi4HL6ExLPhYBiAde+n7BtNb1Pkskx6DcmErOoDShjj6S4BbdDcqgBTmvuWqx3S5NO09QFp7ZpSjw8HYAz9E/atKxqqDoB47uSqRMdQdQamQxKkOPUp6Y0bKHYaatWqlMHG4mHM= Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none; kernel.org; dmarc=none action=none header.from=renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.144) by SIXPR06MB1024.apcprd06.prod.outlook.com (10.160.242.28) with Microsoft SMTP Server (TLS) id 15.1.409.15; Mon, 15 Feb 2016 05:22:42 +0000 Message-ID: <87a8n2imag.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") To: Mark Brown , Greg KH In-Reply-To: <87d1ryimdz.wl%kuninori.morimoto.gx@renesas.com> References: <87d1ryimdz.wl%kuninori.morimoto.gx@renesas.com> Date: Mon, 15 Feb 2016 05:22:42 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: TY1PR01CA0005.jpnprd01.prod.outlook.com (25.161.131.143) To SIXPR06MB1024.apcprd06.prod.outlook.com (25.160.242.28) X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB1024; 2:dSi3uRWG7jVAB43S/v4N0zXaJBqZwPKyDaGd1cYiQ3BC3t4V4P9axuHjQR4TllnO5uCdc2L3TWzR0c+dPLIEe+/pkcShmK9jZ5xaqrSLTg7rAKCXS4lhSGKj6F6BYqhfJZkjigEb8WKiJTUPTTu3tA==; 3:Fxl4ok6Itb3/0QbfbrW+miwFunbuXVsATwBmvO6kXXrwCyGGH3B9QiyAxiEYWThQldLiX0enHzNlP/jOEd6Ad8K7wDHeyzgjO+XgrLApuFGzGvoE7tv8r7IdZ5Kxeo7u; 25:EZ/ENvQugMHBKSfb0r11uptiIT+6xtBKgEBtdkc4S2KJSvULQnZJpbNpSq94q2UMxV+vZUe/PZ1iUmcZtnbeb8a9zLmUlZQn8T1fNf8gvUvOl1ZmSAb0fwf4Wjtn07BbwE0UeaYK00tS6WpAsPZEtBeOfax6hpR+NC588Fehs2QkAO5d+yAsbF51zaeF1YYqoCAeP8Kl8DUIc3A4eY/Yl1t3aJ+dKIlxdZ4uqyjCjGVO7+d/pxt2s9CLieSnskvYwk7wDVAoEP3Cz3hfNQDDNq3/54NEZFzo3zjvI4HXYrzBsoYBvVn051J8Ah2a7Zvs X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SIXPR06MB1024; X-MS-Office365-Filtering-Correlation-Id: 39d3104d-748f-4d7d-cb6a-08d335c8081b X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB1024; 20:QV5ZSYq+hanpf7zbdRQGyrEnQEqy4MmBGROa2g/fCDtAAp1uZ8ibxd4eRnGR8Xhn1yMZIzbE/ZeIDJsLGgw/sXwmqcnd4BrarQ8rohPiBvFVxoIIMb4T69mQr/mAUNE+CBlJ39kt4IvzSr33dL/QtkdffwfHsnioZksRus9/ACGH21wGbJ3YrFtPVvD13uRzuqJE8GlSAqMBPZsSr6ujuzq2279mVrrKoi9V8reCvIZPbZA0wb213mRgGW9aSy+RfP2BI7kIrj1O3GE4UnLW9Nbxo2jB7kN3lKrp2NM/jTh7+X63w8qCYzjHZZPMcfY76kHmH4WjDBFLypaJixTBtlfmUPn1wYCljoCbvtrbknkdrJib3erhO/7xIgHgQ6rpYDaqnV7UkKYzlmnayPvr2lkH6HOb6rLK4EDU71JeTOP6gdDsRSNNgzwpHwiRGz9laxmoF0VZyZ0G2LKjm9+WwGmZBgQgUdBP/56tP8w7GwfY33EGguCTMaH7eXxmYUhO; 4:s48B5F2AEhdw6XYgCd+HB9aQicgwl+sOUA5J1IL6M9L2AsSxzbJO7yDYiFEytlzSwvT5UyW+i6OlRRkw7WQSoVlsn8kJDs0gGTEpr664QCMTLwpWNFJeMc4K8oeYQ/gFtaawCYLffq4cEy2z3SUTKTu9cNEG7t7car1ItE9IUi/ejyh+NCmkHhwXMI8KNlWlxt40QNqG55ZStYrZ+gNKMmH/L6IxaXwP5aINLQZ/Hx/BdMKTA4af5ZlxU1RM/6ON+DiyNX7AIlQdg330nX4xpdrgfrHS3GYmvQeXYSzGCDoy8qKa6399Qx7CH7YOT+UIIL5dUPLKw0pd/A8+umumtcmU5l2wRL9eVzib5uFUCDiQ3A4FYmpwZbyPtF6oW6Rv X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:SIXPR06MB1024; BCL:0; PCL:0; RULEID:; SRVR:SIXPR06MB1024; X-Forefront-PRVS: 08534B37A7 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(19580405001)(19580395003)(47776003)(50466002)(2950100001)(77096005)(53416004)(42186005)(33646002)(229853001)(23726003)(87976001)(189998001)(5001770100001)(1096002)(86362001)(4001350100001)(6116002)(586003)(83506001)(5001960100002)(3846002)(92566002)(46406003)(50986999)(66066001)(76176999)(54356999)(36756003)(5004730100002)(40100003)(122386002)(2906002)(4326007)(5008740100001); DIR:OUT; SFP:1102; SCL:1; SRVR:SIXPR06MB1024; H:morimoto-PC.renesas.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SIXPR06MB1024; 23:QACs1xEPMidHND4jj9/Rt1LI9NcH2ehva2RzC5Fdy?= =?us-ascii?Q?Yd5movp2Bp72381dBMy+VAtbaIRu5B3Wxm0gwpj/O3T6nTVcOgMfQGQYNIaM?= =?us-ascii?Q?nrjz+BoTwBvzbCo6CyWPQRtPVWFxHRIsBfgFYE01+nku9N9ViukGmxTwX8fX?= =?us-ascii?Q?5VF2ECzPXvg0vgqJlMDzSRnNT8HLAAOzU9oaAJZbtThSfP7YrNIaCsN+3dbk?= =?us-ascii?Q?kqIgvm8cgsUENyb7NkXbJ+GwGNc83Ya57aVdMhMnwB6ocxvkj4V4Hla1SAbq?= =?us-ascii?Q?L4e9KvDJXALRZPVwifMQr9o6kWMZ0HWB74jRzPVaApIZ9sDPTNPW3llfqkV2?= =?us-ascii?Q?IFD4PiAoxby/eAjUzIK9KB7S6yAy97ztQ1wVxjGziwt+NIi+di4PzWjHacMA?= =?us-ascii?Q?S1KiUDTQ9wK0TLtPK0K29pktguBZhQILc8TgUKGlLWtxg0MO6YeM+diTYKew?= =?us-ascii?Q?dqB4lQ3TpeHcME64ksdllNWwHEMQbuFXbCTUpUwpOu0QrU2XJDC44jexlZ3G?= =?us-ascii?Q?494JDmXUYxbApLRhVwaA1g/eFAF/3mARzF47HRCgNMpibBr0QlbUvzWb5USA?= =?us-ascii?Q?A7osiZ0y2LEV+q2JnQtE2Wvamzj8t09BF1fcfouppWZXzv4HXzhLZp8Ws22T?= =?us-ascii?Q?B9yrOnCLViAA3MOEMHfURA7OabfUo5cQ07H51gasHGj6JYfEkMlVf8BVjXCd?= =?us-ascii?Q?E0fsQtvXnvGCGupl7DnqcDBjfgN61KySCxJN6XaRlMAc70VkvZi3m+iEIm4+?= =?us-ascii?Q?ngS+z69bMR4PZY2hyIph8DJScHoU3jZOgUirCuwH7Xrjx3c2nK2WdNCqF6Ws?= =?us-ascii?Q?E0YjxiyrPJxmX07yaFLAjxk7fHR84uT2ZBeurh0zd6R4pWJQADgd7rE6RN44?= =?us-ascii?Q?nznqVDGatZLedHpBn3KnvOjzShPkqkbLHWz1ybDzFJX+dzcK6HZQiNDVimGm?= =?us-ascii?Q?gPemyzavq9m2U4T2kFNTfBf3y5D2zunkK2oUyAQZvlngjwxyQnvHpj+ZYfVV?= =?us-ascii?Q?zjch+0FjqGenKK89jkcBpWd?= X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB1024; 5:9e9V4vgNXRooxTdC5dtb2AyQlFB4+UOF0OjvDN/IaEiIyO75o2xxt14Gjr8r7TmMGuI578AYruTDrbEVrYJUdrUR4j8FcxQ3H8Av1nerG/l71e5L6R3jYnOhcul1PIaQmF1lzjXSJdm3ANLZd5Jodg==; 24:lAL1mHagGSVHXLB+f8t1CqO7c2xgY9UcnRAfUsx21eTlpq50d5DtVVlpoNObW+00AOOtwx9V9I4xS1EyBcSH530+FeaXSe5hxxOremRVJVk=; 20:AcB+/w0QMJ4GCfrS5dkhdX+uSCgAPl4AQ4oKmfVdGSlL+r6YRFnl0Ldls/2iu9/TuWAg+pW4LkGG59Bo7zBVByXwB5yCbZ3Nz2RxbZvr8y2qZToxw/+YosDTsZCeq/w2oAl6Zrez5Ya3zETE678ahfGYgCefDF+8jVkPg8+JLjE= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2016 05:22:42.9830 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SIXPR06MB1024 Cc: Linux-ALSA , Linux-Kernel Subject: [alsa-devel] [PATCH 02/15 v2][RFC] regmap: merge regmap_update_bits() into macro X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Kuninori Morimoto Current regmap has many similar update functions like below, but the difference is very few. regmap_update_bits() regmap_update_bits_async() regmap_update_bits_check() regmap_update_bits_check_async() Furthermore, we can add *force* write option too in the future. This patch merges regmap_update_bits() into macro by using regmap_update_bits_base(). Signed-off-by: Kuninori Morimoto --- drivers/base/regmap/regmap.c | 23 ----------------------- include/linux/regmap.h | 12 +++--------- 2 files changed, 3 insertions(+), 32 deletions(-) diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 4e35b2f..281898a 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -2688,29 +2688,6 @@ int regmap_update_bits_base(struct regmap *map, unsigned int reg, EXPORT_SYMBOL_GPL(regmap_update_bits_base); /** - * regmap_update_bits: Perform a read/modify/write cycle on the register map - * - * @map: Register map to update - * @reg: Register to update - * @mask: Bitmask to change - * @val: New value for bitmask - * - * Returns zero for success, a negative number on error. - */ -int regmap_update_bits(struct regmap *map, unsigned int reg, - unsigned int mask, unsigned int val) -{ - int ret; - - map->lock(map->lock_arg); - ret = _regmap_update_bits(map, reg, mask, val, NULL, false); - map->unlock(map->lock_arg); - - return ret; -} -EXPORT_SYMBOL_GPL(regmap_update_bits); - -/** * regmap_write_bits: Perform a read/modify/write cycle on the register map * * @map: Register map to update diff --git a/include/linux/regmap.h b/include/linux/regmap.h index 28e50a3..500b36c 100644 --- a/include/linux/regmap.h +++ b/include/linux/regmap.h @@ -65,6 +65,9 @@ struct reg_sequence { unsigned int delay_us; }; +#define regmap_update_bits(map, reg, mask, val) \ + regmap_update_bits_base(map, reg, mask, val, NULL, false, false) + #ifdef CONFIG_REGMAP enum regmap_endian { @@ -694,8 +697,6 @@ int regmap_bulk_read(struct regmap *map, unsigned int reg, void *val, int regmap_update_bits_base(struct regmap *map, unsigned int reg, unsigned int mask, unsigned int val, bool *change, bool async, bool force); -int regmap_update_bits(struct regmap *map, unsigned int reg, - unsigned int mask, unsigned int val); int regmap_write_bits(struct regmap *map, unsigned int reg, unsigned int mask, unsigned int val); int regmap_update_bits_async(struct regmap *map, unsigned int reg, @@ -948,13 +949,6 @@ static inline int regmap_update_bits_base(struct regmap *map, unsigned int reg, return -EINVAL; } -static inline int regmap_update_bits(struct regmap *map, unsigned int reg, - unsigned int mask, unsigned int val) -{ - WARN_ONCE(1, "regmap API is disabled"); - return -EINVAL; -} - static inline int regmap_write_bits(struct regmap *map, unsigned int reg, unsigned int mask, unsigned int val) {