Messages in this thread | | | From | Zhenzhong Duan <> | Date | Mon, 20 Jan 2020 18:25:58 +0800 | Subject | Re: Question about dynamic minor number of misc device |
| |
On Mon, Jan 20, 2020 at 6:03 PM Arnd Bergmann <arnd@arndb.de> wrote: > > On Mon, Jan 20, 2020 at 9:33 AM Zhenzhong Duan <zhenzhong.duan@gmail.com> wrote: > > > > Hi Maintainers, > > > > I see there are 64 free slots(0-63) used for misc devices with dynamic > > minor number. But PSMOUSE_MINOR(1) overlaps with that dynamic range. > > > > So if the dynamic minor number exhaust, psaux driver will fail with > > "could not register psaux device, error: -16", is this expected? > > Should we preserve a slot for psaux and serio_raw which use static > > minor number PSMOUSE_MINOR? > > Is this a theoretical question, or are you actually running out of dynamic > minor numbers? I would guess that if we change the limit to only allow > dynamic minors 2 through 63, that would technically be a correct > change, but the result would be that in the same situation another random > driver fails, which is not much of an improvement, unless the dynamic > minor numbers also continue into the range above 255.
It's theoretical question. Thanks for your explanation.
> > On a related note, I checked for drivers that call misc_register() > with a minor number that is not defined in include/linux/misc.h > and found a bunch, including some that have conflicting numbers, > conflicting names or numbers from the dynamic range: > > drivers/staging/speakup/devsynth.c:#define SYNTH_MINOR 25 > drivers/staging/speakup/speakup_soft.c:#define SOFTSYNTH_MINOR 26 /* > might as well give it one more than /dev/synth */ > drivers/staging/speakup/speakup_soft.c:#define SOFTSYNTHU_MINOR 27 /* > might as well give it one more than /dev/synth */ > drivers/macintosh/via-pmu.c:#define PMU_MINOR 154 > drivers/macintosh/ans-lcd.h:#define ANSLCD_MINOR 156 > drivers/auxdisplay/charlcd.c:#define LCD_MINOR 156 > drivers/char/applicom.c:#define AC_MINOR 157 > drivers/char/nwbutton.h:#define BUTTON_MINOR 158 > arch/arm/include/asm/nwflash.h:#define FLASH_MINOR 160 > drivers/sbus/char/envctrl.c:#define ENVCTRL_MINOR 162 > drivers/sbus/char/flash.c:#define FLASH_MINOR 152 > drivers/sbus/char/uctrl.c:#define UCTRL_MINOR 174 > drivers/char/toshiba.c:#define TOSH_MINOR_DEV 181 > arch/um/drivers/random.c:#define RNG_MISCDEV_MINOR 183 /* > official */ > drivers/auxdisplay/panel.c:#define KEYPAD_MINOR 185 > drivers/video/fbdev/pxa3xx-gcu.c:#define MISCDEV_MINOR 197 > kernel/power/user.c:#define SNAPSHOT_MINOR 231 > drivers/parisc/eisa_eeprom.c:#define EISA_EEPROM_MINOR 241 > > If you would like to help clean that up, you are definitely welcome > to send patches.
Ok, should that be a patch for all drivers or seperate patch for each driver?
Thanks Zhenzhong
| |