All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Dain <odain2@mindspring.com>
To: linux-kernel@vger.kernel.org
Subject: proper place for devfs_register_chrdev with pci_module_init
Date: Wed, 4 Feb 2004 15:23:29 -0500 (GMT-05:00)	[thread overview]
Message-ID: <18852317.1075926209540.JavaMail.root@wamui01.slb.atl.earthlink.net> (raw)

I'm writing a char driver for a PCI card.  Looking at examples of such things I've found that most have a module_init like this:

int foo_init(void)
{
	/* stuff... */
	devfs_register_chrdev(...);
	/* more stuff... */
	pci_module_init(...);
}

This seems strange to me.  The devfs_register_chrdev call will register the module and cause it to be held in memory even if the associated PCI device isn't present on the system.  It seems like a better way to do this is to have the init method just call pci_module_init(...) and then in that method, after the PCI device has been initialized, call devfs_register_chrdev to associate the driver with the device.  That way the kernel can unload the module if no such device is present, but if the device is present (or if one appears via hotplug) the module will be loaded and can then register itself.  Will this work?  Is there a reason people don't do this?

I'm not subscribed to the LKML so please CC me on any responses.

Thanks,
Oliver

             reply	other threads:[~2004-02-04 20:45 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-04 20:23 Oliver Dain [this message]
2004-02-04 21:30 ` proper place for devfs_register_chrdev with pci_module_init Richard B. Johnson
2004-02-04 21:48   ` odain2
2004-02-04 22:29     ` Richard B. Johnson
2004-02-04 23:34       ` Greg KH
2004-02-05 12:42         ` Richard B. Johnson
2004-02-05 15:27           ` Greg KH

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=18852317.1075926209540.JavaMail.root@wamui01.slb.atl.earthlink.net \
    --to=odain2@mindspring.com \
    --cc=linux-kernel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.