Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753529AbbDBOgh (ORCPT ); Thu, 2 Apr 2015 10:36:37 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:60068 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753378AbbDBOgd (ORCPT ); Thu, 2 Apr 2015 10:36:33 -0400 X-AuditID: cbfec7f5-b7fc86d0000066b7-fb-551d5342d442 From: Krzysztof Kozlowski To: Sangbeom Kim , Samuel Ortiz , Lee Jones , linux-kernel@vger.kernel.org, Kukjin Kim , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org Cc: Javier Martinez Canillas , Krzysztof Kozlowski Subject: [PATCH 1/2] mfd: sec: Fix RTC alarm interrupt number on S2MPS11 Date: Thu, 02 Apr 2015 16:36:15 +0200 Message-id: <1427985376-20420-2-git-send-email-k.kozlowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1427985376-20420-1-git-send-email-k.kozlowski@samsung.com> References: <1427985376-20420-1-git-send-email-k.kozlowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupgluLIzCtJLcpLzFFi42I5/e/4FV2nYNlQg45dlhbzj5xjtTj6u8Di 9QtDi/7Hr5kt7n89ymix6fE1VovLu+awWcw4v4/J4nQ3q8XFFV+YHLg8/j6/zuKxaVUnm8ed a3vYPOadDPTYvKTeo2/LKkaPz5vkAtijuGxSUnMyy1KL9O0SuDLmduxiLdjMX3H9wx/2BsYj PF2MnBwSAiYSa89dZIawxSQu3FvP1sXIxSEksJRRorFxHTuE08cksejMFHaQKjYBY4nNy5eA VYkITGOS+HtyB5DDwcEskC9x+zMvSI2wgIfE5TPXwMIsAqoS//scQcK8Au4Sr3fOY4RYJidx 8thkVhCbE6i8+UMzE0i5EFDN0v1pExh5FzAyrGIUTS1NLihOSs810itOzC0uzUvXS87P3cQI Cb2vOxiXHrM6xCjAwajEw9tgLRMqxJpYVlyZe4hRgoNZSYT3gbZsqBBvSmJlVWpRfnxRaU5q 8SFGJg5OqQbGztgvm5duX3ZVfub1/3ZFJhOt19quD7ae2icSzeq1sNc5LSEtU31RyLvkOfcW bjkpI7NGLMe4hfPkRSsT8/9L8nasypi0XnTVe58dE14o1j1fGZ4b8WRm0039eL3QhS9YJc0M DEoXvX+fnl7FxniPZ+WG5pmlwpnHnXfVRMjUe6zRFVBkvf1RiaU4I9FQi7moOBEAAvG4XhsC AAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2149 Lines: 72 The RTC on S2MPS11 is the same as S2MPS14. However interrupt numbers of RTC alarms 0 and 1 were inversed between these two devices. So when rtc-s5m driver requested S2MPS14_IRQ_RTCA0 interrupt, it matched to S2MPS11_IRQ_RTCA1, not RTCA0. Fix this by using consistent RTC alarm interrupt numbers and adding a BUILD_BUG_ON for future generations. Signed-off-by: Krzysztof Kozlowski --- drivers/mfd/sec-irq.c | 14 ++++++++++---- include/linux/mfd/samsung/irq.h | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/mfd/sec-irq.c b/drivers/mfd/sec-irq.c index ba86a918c2da..806fa8dbb22d 100644 --- a/drivers/mfd/sec-irq.c +++ b/drivers/mfd/sec-irq.c @@ -61,14 +61,14 @@ static const struct regmap_irq s2mps11_irqs[] = { .reg_offset = 1, .mask = S2MPS11_IRQ_RTC60S_MASK, }, - [S2MPS11_IRQ_RTCA0] = { - .reg_offset = 1, - .mask = S2MPS11_IRQ_RTCA0_MASK, - }, [S2MPS11_IRQ_RTCA1] = { .reg_offset = 1, .mask = S2MPS11_IRQ_RTCA1_MASK, }, + [S2MPS11_IRQ_RTCA0] = { + .reg_offset = 1, + .mask = S2MPS11_IRQ_RTCA0_MASK, + }, [S2MPS11_IRQ_SMPL] = { .reg_offset = 1, .mask = S2MPS11_IRQ_SMPL_MASK, @@ -484,6 +484,12 @@ int sec_irq_init(struct sec_pmic_dev *sec_pmic) return ret; } + /* + * The rtc-s5m driver requests S2MPS14_IRQ_RTCA0 also for S2MPS11 + * so the interrupt number must be consistent. + */ + BUILD_BUG_ON(((enum s2mps14_irq)S2MPS11_IRQ_RTCA0) != S2MPS14_IRQ_RTCA0); + return 0; } diff --git a/include/linux/mfd/samsung/irq.h b/include/linux/mfd/samsung/irq.h index f35af7361b60..667aa40486dd 100644 --- a/include/linux/mfd/samsung/irq.h +++ b/include/linux/mfd/samsung/irq.h @@ -74,8 +74,8 @@ enum s2mps11_irq { S2MPS11_IRQ_MRB, S2MPS11_IRQ_RTC60S, - S2MPS11_IRQ_RTCA0, S2MPS11_IRQ_RTCA1, + S2MPS11_IRQ_RTCA0, S2MPS11_IRQ_SMPL, S2MPS11_IRQ_RTC1S, S2MPS11_IRQ_WTSR, -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/