From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933184AbbFIQZk (ORCPT ); Tue, 9 Jun 2015 12:25:40 -0400 Received: from mail-pd0-f176.google.com ([209.85.192.176]:32795 "EHLO mail-pd0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753931AbbFIQX4 (ORCPT ); Tue, 9 Jun 2015 12:23:56 -0400 From: Lina Iyer To: ohad@wizery.com Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Lina Iyer Subject: [PATCH RFC v2 0/2] hwspinlock: Introduce raw capability for hwspinlock_device Date: Tue, 9 Jun 2015 10:23:38 -0600 Message-Id: <1433867020-7746-1-git-send-email-lina.iyer@linaro.org> X-Mailer: git-send-email 2.1.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch follows the discussion based on the first RFC series posted on the mailing list [1]. The discussion resulted in a couple of directives for hwspinlocks that do not want the framework imposing a s/w spinlock around the hwspinlock. i. The default should only be a s/w spinlock around the hwspinlock to ensure correctness of locking. ii. Existing users may not use raw capability, unless the platform registers support for it. iii. Platform driver for hwspinlock should dictate which locks can be operated in raw mode. iv. Platform driver and the hw holds the responsibility to ensure the correctness of acquiring the hwspinlock. This patchset implements these directives. Changes since RFC v1: - Introduce 'raw' capability for hwspinlocks. - Platform code now has to explicitly specify the raw capability of a lock. - Check to ensure that only those locks explicitly marked as raw capable can be locked/unlocked through the _raw api - QCOM patch for making lock #7 raw capable added. - Add documentation Thanks, Lina [1]. https://patches.linaro.org/47895/ Lina Iyer (2): hwspinlock: Introduce raw capability for hwspinlocks hwspinlock: qcom: Lock #7 is special lock, uses dynamic proc_id Documentation/hwspinlock.txt | 16 +++++++ drivers/hwspinlock/hwspinlock_core.c | 75 +++++++++++++++++++------------- drivers/hwspinlock/hwspinlock_internal.h | 6 +++ drivers/hwspinlock/qcom_hwspinlock.c | 22 +++++++--- include/linux/hwspinlock.h | 41 +++++++++++++++++ 5 files changed, 125 insertions(+), 35 deletions(-) -- 2.1.4