From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752737Ab2HSKYD (ORCPT ); Sun, 19 Aug 2012 06:24:03 -0400 Received: from canardo.mork.no ([148.122.252.1]:49554 "EHLO canardo.mork.no" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751287Ab2HSKYB convert rfc822-to-8bit (ORCPT ); Sun, 19 Aug 2012 06:24:01 -0400 From: =?utf-8?Q?Bj=C3=B8rn_Mork?= To: Ming Lei Cc: Greg Kroah-Hartman , Alan Stern , Fengguang Wu , Oliver Neukum , Sarah Sharp , linux-kernel@vger.kernel.org, "linux-usb\@vger.kernel.org" , "Lan\, Tianyu" Subject: Re: BUG: unable to handle kernel paging request in usb_match_id() Organization: m References: <20120817144253.GA12835@kroah.com> Date: Sun, 19 Aug 2012 12:23:38 +0200 In-Reply-To: (Ming Lei's message of "Sat, 18 Aug 2012 08:58:39 +0800") Message-ID: <87a9xrmb85.fsf@nemi.mork.no> User-Agent: Gnus/5.11002 (No Gnus v0.20) Emacs/23.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Ming Lei writes: > On Fri, Aug 17, 2012 at 10:42 PM, Greg Kroah-Hartman > wrote: >> On Fri, Aug 17, 2012 at 10:38:16AM -0400, Alan Stern wrote: >>> On Fri, 17 Aug 2012, Ming Lei wrote: >>> >>> > But, if HOTPLUG is not enabled, should device_add() trigger driver probe >>> > further after kernel init is completed? Or even devices should be allowed >>> > to add into system? >>> >>> Indeed, does it make any sense to have USB support at all if HOTPLUG >>> isn't enabled? Should USB select HOTPLUG? >> >> Well, a long time ago people wanted to use USB but not have HOTPLUG >> enabled in their systems for various (odd) embedded systems. As it's >> pretty hard to even turn off HOTPLUG these days, I'd be more likely to >> just remove CONFIG_HOTPLUG entirely given the dynamic nature of almost >> all systems. > > It should make sense, otherwise all device id table should not use > __devinit* markings. There are lots of pci driver usage on it. You might want to start here then: /** * DEFINE_PCI_DEVICE_TABLE - macro used to describe a pci device table * @_table: device table name * * This macro is used to create a struct pci_device_id array (a device table) * in a generic manner. */ #define DEFINE_PCI_DEVICE_TABLE(_table) \ const struct pci_device_id _table[] __devinitconst Bjørn