Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754732AbbFWLCx (ORCPT ); Tue, 23 Jun 2015 07:02:53 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:20794 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754704AbbFWLCs (ORCPT ); Tue, 23 Jun 2015 07:02:48 -0400 X-AuditID: cbfec7f5-f794b6d000001495-68-55893cd6eedb From: Daniel Granat To: Julia.Lawall@lip6.fr, cocci@systeme.lip6.fr, linux-kernel@vger.kernel.org Cc: Gilles.Muller@lip6.fr, nicolas.palix@imag.fr, k.wrona@samsung.com, k.kozlowski@samsung.com, Daniel Granat Subject: [PATCH v5] Added tables (i2c/platform)_device_id for checking. Extend checking on tables containing structures which are initialized without specifying member name. Date: Tue, 23 Jun 2015 13:02:14 +0200 Message-id: <1435057334-5751-1-git-send-email-d.granat@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: References: X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprBLMWRmVeSWpSXmKPExsVy+t/xy7rXbDpDDQ4+Z7T4sWk1m8WER8YW s39eYrJY9uA0o8XrF4YWp5btZ7K4vGsOm8Wxl8uZHDg8jh1rZfbYuyXLo2/LKkaPR8vus3h8 3iQXwBrFZZOSmpNZllqkb5fAlbH7wzmmgjN8Fdtff2dpYDzA3cXIySEhYCIx7cwsZghbTOLC vfVsXYxcHEICSxklbn39zAjhNDFJ7OvvBatiE9CSuHznAROILSLgK3Fhz3QWkCJmgTZGiT2P 29hBHGGBjYwSf67eAqtiEVCV6Hz2BKybV8BZYv6682wQ++QkTh6bzApicwpYSuyasx2sRkjA QmJX+2PmCYy8CxgZVjGKppYmFxQnpeca6RUn5haX5qXrJefnbmKEhNfXHYxLj1kdYhTgYFTi 4S2Y3BEqxJpYVlyZe4hRgoNZSYR3pVJnqBBvSmJlVWpRfnxRaU5q8SFGaQ4WJXHembvehwgJ pCeWpGanphakFsFkmTg4pRoYU5iFL+V89FdUdasIesO58tery/tDmWYEZr1u81XZfb04o2TP /eSUgDduqzYcrlVpd22a/vbqwQPmWVN1Jaa9OsIQmbXvh8ePdcclwsvMxRNN9mycsq/Mo9b3 flrFnyPa3x4ccdzfe0vs/rRHZteYE/U9eDnZd345pj5xH6+jyiLp55852fXvKLEUZyQaajEX FScCAB5bO4orAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2027 Lines: 91 Signed-off-by: Daniel Granat --- scripts/coccinelle/misc/of_table.cocci | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/scripts/coccinelle/misc/of_table.cocci b/scripts/coccinelle/misc/of_table.cocci index 3c93404..2294915 100644 --- a/scripts/coccinelle/misc/of_table.cocci +++ b/scripts/coccinelle/misc/of_table.cocci @@ -1,6 +1,6 @@ -/// Make sure of_device_id tables are NULL terminated +/// Make sure (of/i2c/platform)_device_id tables are NULL terminated // -// Keywords: of_table +// Keywords: of_table i2c_table platform_table // Confidence: Medium // Options: --include-headers @@ -13,18 +13,26 @@ virtual report identifier var, arr; expression E; @@ -struct of_device_id arr[] = { +( +struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = { ..., { .var = E, * } }; +| +struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = { + ..., +* { ..., E, ... }, +}; +) @depends on patch@ identifier var, arr; expression E; @@ -struct of_device_id arr[] = { +( +struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = { ..., { .var = E, @@ -32,19 +40,34 @@ struct of_device_id arr[] = { + }, + { } }; +| +struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = { + ..., + { ..., E, ... }, ++ { }, +}; +) @r depends on org || report@ position p1; identifier var, arr; expression E; @@ -struct of_device_id arr[] = { +( +struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = { ..., { .var = E, } @p1 }; +| +struct \(of_device_id \| i2c_device_id \| platform_device_id\) arr[] = { + ..., + { ..., E, ... } + @p1 +}; +) @script:python depends on org@ p1 << r.p1; -- 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/