public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Andrew Morton <akpm@osdl.org>
Cc: jayakumar.alsa@gmail.com, perex@suse.cz, mj@ucw.cz,
	alsa-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Subject: Re: [Alsa-devel] Re: [PATCH 2.6.13.1 1/1] CS5535 AUDIO ALSA driver
Date: Thu, 29 Sep 2005 15:04:44 +0200	[thread overview]
Message-ID: <s5hr7b8dnyr.wl%tiwai@suse.de> (raw)
In-Reply-To: <20050920172309.626db866.akpm@osdl.org>

At Tue, 20 Sep 2005 17:23:09 -0700,
Andrew Morton wrote:
> 
> jayakumar alsa <jayakumar.alsa@gmail.com> wrote:
> >
> > > > +
> > > > +static unsigned short snd_cs5535audio_codec_read(cs5535audio_t *cs5535au,
> > > 
> > > typedefs are unpopular in-kernel.  We generally don't get too fussed if a
> > > driver maintainer really wants them there.  The main objection is that we
> > > now have two names for the same thing.  Plus they cannot be used when
> > > forward-declaring a structure.
> > 
> > I just used those typedefs in order to match the style in all the
> > other alsa drivers. For example:
> > 
> > % egrep typedef $lintree/sound/pci/*.c
> > als4000.c:typedef struct {
> > atiixp.c:typedef struct snd_atiixp atiixp_t;
> > atiixp.c:typedef struct snd_atiixp_dma atiixp_dma_t;
> > atiixp.c:typedef struct snd_atiixp_dma_ops atiixp_dma_ops_t;
> > atiixp.c:typedef struct atiixp_dma_desc {
> > azt3328.c:typedef struct _snd_azf3328 azf3328_t;
> > azt3328.c:typedef struct azf3328_mixer_reg {
> > bt87x.c:typedef struct snd_bt87x bt87x_t;
> > cmipci.c:typedef struct snd_stru_cmipci cmipci_t;
> > <snip>
> > 
> > I'm not sure what to do. I'd be happy to take them out. But I woudn't
> > mind leaving them in if that's what alsa convention is.
> 
> I'd be inclined to stick with the alsa style.  That's just an fyi if you
> plan on working in other places.

It's no longer preferred style in ALSA.
xxx_t had been used for the magic type-cast checks.  But this check
was removed, and there is no reason to stick with its style. 
I'm using struct foo in the recent drivers like hd-audio, too.
Tons of *_t are still there just because of laziness :)

Seriously, if you guys want to clean up them, I wouldn't reject at
all.  But this clean up is at the very tail of my TODO list ;)


> > > 
> > > > +     addr = (u32)substream->runtime->dma_addr;
> > > 
> > > Nope, _snd_pcm_runtime.addr has type dma_addr_t, which is an opaque type,
> > > 64-bit on some platforms.  I expect this driver will blow up on those
> > > platforms.
> > 
> > The 5535 hw's dma descriptor is only 32 bit capable. I guess I should
> > look into informing the dma alloc that the buffers need to be in the
> > lower 32. Would it be okay to drop the upper then?
> 
> An IOMMU permits 64-bit platforms to use 32-bit PCI devices.

But still you have to set a 32bit (bus) address to the buffer
descriptor of this chip.  If you get higher than that, it won't work
anyway.


> > > +#define cs_writel(reg, val)    outl(val, (int) cs5535au->port + reg)
> > > +#define cs_writeb(reg, val)    outb(val, (int) cs5535au->port + reg)
> > > +#define cs_readl(reg)          inl((unsigned short) (cs5535au->port + reg))
> > > +#define cs_readw(reg)          inw((unsigned short) (cs5535au->port + reg))
> > > +#define cs_readb(reg)          inb((unsigned short) (cs5535au->port + reg))
> > > 
> > > erk.   subsystem-wide helper macros which reference local variables?
> > 
> > Ok. I'll change that.
> 
> well, again, if that's alsa-style then you might choose to retain it.  But
> it'd be an unpopular approach in most other kernel code.

Well, it's not ALSA style, too.  We prefer often like
	foo_write(chip, reg, val)
expanded to
	outl(val, (chip)->port + (reg))
but don't assume local variables.


Takashi

  parent reply	other threads:[~2005-09-29 13:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-19  6:39 [PATCH 2.6.13.1 1/1] CS5535 AUDIO ALSA driver jayakumar.alsa
2005-09-20 22:28 ` Andrew Morton
2005-09-21  0:03   ` jayakumar alsa
2005-09-21  0:23     ` Andrew Morton
2005-09-21  8:31       ` Christoph Hellwig
2005-09-29 13:21         ` [Alsa-devel] " Takashi Iwai
2005-12-06 17:42           ` Christoph Hellwig
2005-12-06 18:41             ` Takashi Iwai
2005-09-29 13:04       ` Takashi Iwai [this message]
2005-09-21  7:08   ` jayakumar alsa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hr7b8dnyr.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=akpm@osdl.org \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=jayakumar.alsa@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mj@ucw.cz \
    --cc=perex@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox