From patchwork Sun Apr 12 12:36:09 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Subhransu S. Prusty" X-Patchwork-Id: 6203161 Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id B0C9EBF4A6 for ; Sun, 12 Apr 2015 13:07:00 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id DEC4820270 for ; Sun, 12 Apr 2015 13:06:59 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id DAC0A20142 for ; Sun, 12 Apr 2015 13:06:57 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 14BD826154B; Sun, 12 Apr 2015 15:06:55 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NO_DNS_FOR_FROM, UNPARSEABLE_RELAY autolearn=no version=3.3.1 Received: from alsa0.perex.cz (localhost [IPv6:::1]) by alsa0.perex.cz (Postfix) with ESMTP id F2454260639; Sun, 12 Apr 2015 15:05:58 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id F095D260622; Sun, 12 Apr 2015 15:05:55 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by alsa0.perex.cz (Postfix) with ESMTP id 9CF49260591 for ; Sun, 12 Apr 2015 15:05:49 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP; 12 Apr 2015 06:05:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,565,1422950400"; d="scan'208";a="554802380" Received: from subhransu-udesk1.iind.intel.com ([10.223.96.40]) by orsmga003.jf.intel.com with ESMTP; 12 Apr 2015 06:05:46 -0700 From: "Subhransu S. Prusty" To: alsa-devel@alsa-project.org Date: Sun, 12 Apr 2015 18:06:09 +0530 Message-Id: <1428842178-7105-3-git-send-email-subhransu.s.prusty@intel.com> X-Mailer: git-send-email 1.9.0 In-Reply-To: <1428842178-7105-1-git-send-email-subhransu.s.prusty@intel.com> References: <1428842178-7105-1-git-send-email-subhransu.s.prusty@intel.com> Cc: tiwai@suse.de, lgirdwood@gmail.com, patches.audio@intel.com, broonie@kernel.org, Jeeja KP , Vinod Koul , "Subhransu S. Prusty" Subject: [alsa-devel] [RFC 02/11] ALSA: hda - Add generic helper function to register/unregister driver X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Jeeja KP ASOC HD codec drivers will use the generic functions to register/unregister driver Signed-off-by: Jeeja KP Signed-off-by: Subhransu S. Prusty Signed-off-by: Vinod Koul --- include/sound/hdaudio.h | 3 +++ sound/hda/hdac_bus.c | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/include/sound/hdaudio.h b/include/sound/hdaudio.h index 3628a09..b63cd03 100644 --- a/include/sound/hdaudio.h +++ b/include/sound/hdaudio.h @@ -153,6 +153,9 @@ struct hdac_driver { #define drv_to_hdac_driver(_drv) container_of(_drv, struct hdac_driver, driver) +int snd_hdac_driver_register(struct hdac_driver *drv); +void snd_hdac_driver_unregister(struct hdac_driver *drv); + /* * HD-audio bus base driver */ diff --git a/sound/hda/hdac_bus.c b/sound/hda/hdac_bus.c index f0ee295..4ecb4ec 100644 --- a/sound/hda/hdac_bus.c +++ b/sound/hda/hdac_bus.c @@ -219,3 +219,24 @@ int snd_hdac_bus_match_id(struct hdac_device *dev, return 0; } EXPORT_SYMBOL_GPL(snd_hdac_bus_match_id); + +/** + * snd_hdac_driver_register - register a driver for hda devices + * @drv: hdac driver structure + */ +int snd_hdac_driver_register(struct hdac_driver *drv) +{ + drv->driver.bus = &snd_hda_bus_type; + return driver_register(&drv->driver); +} +EXPORT_SYMBOL_GPL(snd_hdac_driver_register); + +/** + * snd_hdac_driver_unregister - unregister a driver for hda devices + * @drv: hdac driver structure + */ +void snd_hdac_driver_unregister(struct hdac_driver *drv) +{ + driver_unregister(&drv->driver); +} +EXPORT_SYMBOL_GPL(snd_hdac_driver_unregister);