From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933326AbbCPUlk (ORCPT ); Mon, 16 Mar 2015 16:41:40 -0400 Received: from mout.gmx.net ([212.227.15.19]:52866 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933190AbbCPUle (ORCPT ); Mon, 16 Mar 2015 16:41:34 -0400 From: Peter Huewe To: "Rafael J. Wysocki" Cc: linux-kernel@vger.kernel.org, Peter Huewe , Lars-Peter Clausen , Greg Kroah-Hartman Subject: [PATCH 1/8] pnp: Add helper macro for pnp_register_driver boilerplate Date: Mon, 16 Mar 2015 21:46:30 +0100 Message-Id: <1426538797-28131-2-git-send-email-peterhuewe@gmx.de> X-Mailer: git-send-email 2.0.5 In-Reply-To: <1426538797-28131-1-git-send-email-peterhuewe@gmx.de> References: <1426538797-28131-1-git-send-email-peterhuewe@gmx.de> X-Provags-ID: V03:K0:thCDbfITkzxVbAL/6r3geFvx2ezZXg9xLhC2+KbeV2OrfzW4VsW R0U2tvNr9Y4qMJEzIlgK7CckVnIAQq6kcpU3/DE6ZX4JPg5zM6iNfHt9RPW8GORz2SjiXyK ANbtEPy1yCo18FENBVnLr/Fhf4/XGI4S38YCasgx7UKlGpP3ApN3OC49hv/5XefSvhw/PD5 0zCWgfnna8L4biuad2kDw== X-UI-Out-Filterresults: notjunk:1; Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch introduces the module_pnp_driver macro which is a convenience macro for PNP driver modules similar to module_pci_driver. It is intended to be used by drivers which init/exit section does nothing but register/unregister the PNP driver. By using this macro it is possible to eliminate a few lines of boilerplate code per PNP driver. Based on work done by Lars-Peter Clausen for other busses (i2c and spi) and Greg KH for PCI. Cc: Lars-Peter Clausen Cc: Greg Kroah-Hartman Signed-off-by: Peter Huewe --- include/linux/pnp.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/include/linux/pnp.h b/include/linux/pnp.h index 6512e9cbc6d5..5df733b8f704 100644 --- a/include/linux/pnp.h +++ b/include/linux/pnp.h @@ -510,4 +510,16 @@ static inline void pnp_unregister_driver(struct pnp_driver *drv) { } #endif /* CONFIG_PNP */ +/** + * module_pnp_driver() - Helper macro for registering a PnP driver + * @__pnp_driver: pnp_driver struct + * + * Helper macro for PnP drivers which do not do anything special in module + * init/exit. This eliminates a lot of boilerplate. Each module may only + * use this macro once, and calling it replaces module_init() and module_exit() + */ +#define module_pnp_driver(__pnp_driver) \ + module_driver(__pnp_driver, pnp_register_driver, \ + pnp_unregister_driver) + #endif /* _LINUX_PNP_H */ -- 2.0.5