Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755110Ab3EaOdf (ORCPT ); Fri, 31 May 2013 10:33:35 -0400 Received: from cantor2.suse.de ([195.135.220.15]:53636 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752431Ab3EaOd1 (ORCPT ); Fri, 31 May 2013 10:33:27 -0400 Date: Fri, 31 May 2013 16:34:08 +0200 Message-ID: From: Takashi Iwai To: Alan Stern Cc: Joe Perches , Jaroslav Kysela , , Kernel development list Subject: Re: [alsa-devel] Improving or replacing snd_printk() In-Reply-To: References: User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/24.2 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1598 Lines: 36 At Fri, 31 May 2013 10:24:51 -0400 (EDT), Alan Stern wrote: > > On Fri, 31 May 2013, Takashi Iwai wrote: > > > > I don't see the complexity/hell in adding functions > > > for specific types of struct * to reduce the complexity > > > of the code though. Centralizing those indirections > > > into functions also generally reduces overall code size. > > > > I don't mind to add the struct pointer to new snd_*() -- if we really > > introduce them. The bigger question is whether we really need to > > introduce such, and if yes, what variants. And for that, I don't > > think we need to add many functions. Maybe snd_card_() would > > be good. But others don't seem to make sense to me (remember that I > > suggest dropping CONFIG_SND_VERBOSE_PRINTK). > > struct snd_card contains pointers to two different devices: dev and > card_dev. Some contexts might want to use one of them for log messages > while other contexts might want to use the other. Yes, there are some corner cases, indeed. Also, another expected problem is that neither card->card_dev nor card->dev are set when snd_card_err() is called. Many drivers set the device pointers at the late stage just before the device registration. So, systematic replacements won't work as expected in many cases. (The same is applied for replacement with dev_*(), too.) Takashi -- 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/