From patchwork Wed Mar 29 10:22:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 96185 Delivered-To: patch@linaro.org Received: by 10.140.89.233 with SMTP id v96csp2126762qgd; Wed, 29 Mar 2017 03:24:43 -0700 (PDT) X-Received: by 10.84.231.199 with SMTP id g7mr21531208pln.163.1490783083498; Wed, 29 Mar 2017 03:24:43 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x89si4984982pff.381.2017.03.29.03.24.43; Wed, 29 Mar 2017 03:24:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932122AbdC2KY0 (ORCPT + 17 others); Wed, 29 Mar 2017 06:24:26 -0400 Received: from conuserg-09.nifty.com ([210.131.2.76]:30159 "EHLO conuserg-09.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755282AbdC2KYY (ORCPT ); Wed, 29 Mar 2017 06:24:24 -0400 Received: from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-09.nifty.com with ESMTP id v2TAMQTW009564; Wed, 29 Mar 2017 19:22:26 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-09.nifty.com v2TAMQTW009564 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1490782947; bh=NfzGuRplnnVSbJOEvVl0A0VqMmzf7gUDbmzGjZDRrCc=; h=From:To:Cc:Subject:Date:From; b=gHY4AFJZGLGytZiBeZn6mGAQClXi2Js0xXtBfJpxu2EInVbYO76vsTBw7DnIhevGV IvxAv4EjVW2q5/JS3Zp9oPVQqajfqQdmMpQSPpafKtz/rVHNEaHia6FOKH/ArCfPeh NwPx1m+umQ84AOA5X7GI8MUAOd6QTKLVlQ9EjWu48M11pd78dFt66Lijm/I+UC7iPH yWtZ5lXpyPcGjGnOhd9hf98/jLiMbbetR2gLfSG0ANnLEjKhD4MxUdLZOYjwpxuyPH zZRqckaJavngT9FMd89Lu3SZR8+B2UUyv0pbNYZqrtR/TJWO6jXvDy5VH8vwLytIws 9WF5Ov7RHJ3RQ== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: Andrew Morton Cc: Masahiro Yamada , =?utf-8?q?Niklas_S?= =?utf-8?b?w7ZkZXJsdW5k?= , Jessica Yu , Johannes Berg , Petr Mladek , Larry Finger , linux-kernel@vger.kernel.org, Gustavo Padovan , Rasmus Villemoes , Peter Zijlstra , Luis de Bethencourt , Josh Triplett Subject: [PATCH] kernel.h: add IS_PTR_ALIGNED() macro Date: Wed, 29 Mar 2017 19:22:10 +0900 Message-Id: <1490782930-30429-1-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org We often check if a pointer has a specific alignment. Because the '&' (bitwise AND) operator cannot take a pointer for the operand, so we need a cast like, IS_ALIGNED((unsigned long)p, a). IS_PTR_ALIGNED will be useful as a shorthand. Signed-off-by: Masahiro Yamada --- include/linux/kernel.h | 1 + 1 file changed, 1 insertion(+) -- 2.7.4 diff --git a/include/linux/kernel.h b/include/linux/kernel.h index e5edd55..a810e4b 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -50,6 +50,7 @@ #define __ALIGN_MASK(x, mask) __ALIGN_KERNEL_MASK((x), (mask)) #define PTR_ALIGN(p, a) ((typeof(p))ALIGN((unsigned long)(p), (a))) #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0) +#define IS_PTR_ALIGNED(p, a) (IS_ALIGNED((unsigned long)p, a)) /* generic data direction definitions */ #define READ 0