========
Bugfixes.
-"udevadm trigger" defaults to "change" events now, instead of "add"
-events.
+"udevadm trigger" defaults to "change" events now instead of "add"
+events. The "udev boot script" might need to add "--action=add" to
+the trigger command if not already there, in case the initial coldplug
+events are expected as "add" events.
The option "all_partitons" was removed from udev. This should not be
needed for usual hardware. Udev can not safely make assumptions
about non-exixting partition major/minor numbers, and therefore no
-longer provide such an unreliable and unsafe option.
+longer provide this unreliable and unsafe option.
The option "ignore_remove" was removed from udev. With devtmpfs
udev passed control over device nodes to the kernel. This option
-should no longer be needed, or can not work as advertised. Neither
+should not be needed, or can not work as advertised. Neither
udev nor the kernel will remove device nodes which are copied from
the /lib/udev/devices/ directory.
in the udev logic. All types of events will update possible symlinks
and permissions, only "remove" is handled special now.
-The modem mode switch extra was removed and the external usb_modeswitch
+The modem modeswitch extra was removed and the external usb_modeswitch
program should be used instead.
New and fixed keymaps.
/*
* cdrom_id - optical drive and media information prober
*
- * Copyright (C) 2008 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2008-2010 Kay Sievers <kay.sievers@vrfy.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
static void scsi_cmd_set(struct udev *udev, struct scsi_cmd *cmd, size_t i, int arg)
{
if (i == 0) {
- memset(cmd, 0x00, sizeof(struct scsi_cmd));
+ memset(cmd, 0, sizeof(struct scsi_cmd));
cmd->cgc.quiet = 1;
cmd->cgc.sense = &cmd->_sense.s;
memset(&cmd->sg_io, 0, sizeof(cmd->sg_io));
unsigned char inq[128];
int err;
- memset (inq, 0, sizeof (inq));
+ memset(inq, 0, sizeof(inq));
scsi_cmd_set(udev, &sc, 0, 0x12);
scsi_cmd_set(udev, &sc, 4, 36);
scsi_cmd_set(udev, &sc, 5, 0);
unsigned int i;
int err;
- memset (header, 0, sizeof (header));
+ memset(header, 0, sizeof(header));
scsi_cmd_set(udev, &sc, 0, 0x46);
scsi_cmd_set(udev, &sc, 1, 0);
scsi_cmd_set(udev, &sc, 8, sizeof(header));
return -1;
}
- memset (profiles, 0, sizeof (profiles));
+ memset(profiles, 0, sizeof(profiles));
scsi_cmd_set(udev, &sc, 0, 0x46);
scsi_cmd_set(udev, &sc, 1, 1);
scsi_cmd_set(udev, &sc, 6, len >> 16);
};
int err;
- memset (header, 0, sizeof (header));
+ memset(header, 0, sizeof(header));
scsi_cmd_set(udev, &sc, 0, 0x51);
scsi_cmd_set(udev, &sc, 8, sizeof(header));
scsi_cmd_set(udev, &sc, 9, 0);
unsigned char *p;
int err;
- memset (header, 0, sizeof (header));
+ memset(header, 0, sizeof(header));
scsi_cmd_set(udev, &sc, 0, 0x43);
scsi_cmd_set(udev, &sc, 6, 1);
scsi_cmd_set(udev, &sc, 8, sizeof(header));
if (len < 8)
return 0;
- memset (toc, 0, sizeof (toc));
+ memset(toc, 0, sizeof(toc));
scsi_cmd_set(udev, &sc, 0, 0x43);
scsi_cmd_set(udev, &sc, 6, header[2]); /* First Track/Session Number */
scsi_cmd_set(udev, &sc, 7, len >> 8);
cd_media_track_count_audio++;
}
- memset (header, 0, sizeof (header));
+ memset(header, 0, sizeof (header));
scsi_cmd_set(udev, &sc, 0, 0x43);
scsi_cmd_set(udev, &sc, 2, 1); /* Session Info */
scsi_cmd_set(udev, &sc, 8, 12);