lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 07 Apr 2009 16:39:01 +0400
From:	Alexey Klimov <klimov.linux@...il.com>
To:	Andrey Panin <pazke@...pac.ru>
Cc:	Anders Blomdell <anders.blomdell@...trol.lth.se>,
	Jean-Francois Moine <moinejf@...e.fr>,
	Linux Media <linux-media@...r.kernel.org>,
	linux-kernel@...r.kernel.org
Subject: Re: Topro 6800 webcam driver

On Tue, 2009-04-07 at 15:13 +0400, Andrey Panin wrote:
> On 097, 04 07, 2009 at 11:41:32AM +0200, Anders Blomdell wrote:

<snip>


> > +static const struct sd_desc sd_desc = {
> > +	.name = MODULE_NAME,
> > +	.ctrls = sd_ctrls,
> > +	.nctrls = ARRAY_SIZE(sd_ctrls),
> > +	.config = sd_config,
> > +	.init = sd_init,
> > +	.start = sd_start,
> > +	.stopN = sd_stopN,
> > +	.pkt_scan = sd_pkt_scan,
> > +	.querymenu = sd_querymenu,
> > +
> > +};
> > +
> > +static const __devinitdata struct usb_device_id device_table[] = {
> > +	{USB_DEVICE(0x06a2, 0x0003)},
> > +	{}			/* Terminating entry */
> > +};
> > +
> > +MODULE_DEVICE_TABLE(usb, device_table);
> > +
> > +static int sd_probe(struct usb_interface *interface,
> > +		    const struct usb_device_id *id)
> > +{
> > +	return gspca_dev_probe(interface, id, &sd_desc, sizeof(struct sd),
> > +			       THIS_MODULE);
> > +}
> > +
> > +static struct usb_driver tp6800_driver = {
> > +	.name = MODULE_NAME,
> > +	.id_table = device_table,
> > +	.probe = sd_probe,
> > +	.disconnect = gspca_disconnect,
> > +#ifdef CONFIG_PM
> > +	.suspend = gspca_suspend,
> > +	.resume = gspca_resume,
> > +#endif
> > +};
> > +
> > +/* Module loading and unloading */
> > +
> > +static int __init tp6800_init(void)
> > +{
> > +	int result;
> > +
> > +	result = usb_register(&tp6800_driver);
> > +	if (result) {
> > +		printk(KERN_INFO "%s usb_register_failed %d\n",
> > +		       MODULE_NAME, result);
> > +	} else {
> > +		printk(KERN_INFO "%s registered\n", MODULE_NAME);
> > +	}
> > +
> > +	return result;
> > +}
> > +
> > +static void __exit tp6800_exit(void)
> > +{
> > +	usb_deregister(&tp6800_driver);
> > +	printk(KERN_INFO "%s deregistered\n", MODULE_NAME);
> > +}
> 
> Are these registered/deregistered messages really useful ?

Looks like that gspca-framework use PDEBUG() messages for that.
For example, t613.c contains this:

static void __exit sd_mod_exit(void)
{
        usb_deregister(&sd_driver);
        PDEBUG(D_PROBE, "deregistered");
}


-- 
Best regards, Klimov Alexey

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ