keymap: Add microphone mute keymap for Dell Latitude

On the Dell Latitude, the mic mute key event is generated by wmi
driver, the keycode assigned to this hotkey from kernel is
KEY_MICMUTE (248), this keycode is too big for xorg to handle,
in the xorg, the XF86AudioMicMute is assigned to F20.

Please refer to 4e648ea0 of xkeyboard-config.

BugLink: https://bugs.launchpad.net/bugs/1326684
BugLink: https://bugs.launchpad.net/bugs/1339998
Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
keymap: Annotate all micmute workarounds

Add a comment to all assignments to f20 that this actually should be "micmute"
in a future when we aren't limited by X.org's key code limiations any more.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
hwdb: update

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
hwdb/ids-update.pl: bring up to date with upstream.

This includes pieces of the following commits:

    d060b62fcb4746d3758c567e9379c6728a035b66
    bd63a88fb0478da2e93c363849b73aed8be36ae7

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
libudev: set errno when udev_device_new_from_* or udev_device_get_parent_* fail

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Fix misuse of uint64_t as size_t

They have different size on 32 bit, so they are really not interchangable.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Reject invalid quoted strings

String which ended in an unfinished quote were accepted, potentially
with bad memory accesses.

Reject anything which ends in a unfished quote, or contains
non-whitespace characters right after the closing quote.

_FOREACH_WORD now returns the invalid character in *state. But this return
value is not checked anywhere yet.

Also, make 'word' and 'state' variables const pointers, and rename 'w'
to 'word' in various places. Things are easier to read if the same name
is used consistently.

mbiebl_> am I correct that something like this doesn't work
mbiebl_> ExecStart=/usr/bin/encfs --extpass='/bin/systemd-ask-passwd "Unlock EncFS"'
mbiebl_> systemd seems to strip of the quotes
mbiebl_> systemctl status shows
mbiebl_> ExecStart=/usr/bin/encfs --extpass='/bin/systemd-ask-password Unlock EncFS  $RootDir $MountPoint
mbiebl_> which is pretty weird

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
man: add udev.conf(5)

We generally have separate man pages for all configuration files.
In this case udev.conf was already described in systemd-udevd.service(8),
but it was hard to find. Docbook makes it hard to add a .so link from
a different section, so describe udev.conf in its own page.

Signedaoff-by: Anthony G. Basile <blueness@gentoo.org>
Include missing.h in udev-builtin-btrfs.c, and move BTRFS_IOC_DEVICES_READY to missing.h

This is a combination of upstream commits

    dced15575f7bf172e3c9d798c43477539525558c
    7bed7f0e3b1f9596aedb64657e432e5b267adebb

by

    Simon McVittie <simon.mcvittie@collabora.co.uk>
    7bed7f0e3b1f9596aedb64657e432e5b267adebb

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Unify parse_argv style

getopt is usually good at printing out a nice error message when
commandline options are invalid. It distinguishes between an unknown
option and a known option with a missing arg. It is better to let it
do its job and not use opterr=0 unless we actually want to suppress
messages. So remove opterr=0 in the few places where it wasn't really
useful.

When an error in options is encountered, we should not print a lengthy
help() and overwhelm the user, when we know precisely what is wrong
with the commandline. In addition, since help() prints to stdout, it
should not be used except when requested with -h or --help.

Also, simplify things here and there.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
udev: path_id - suppress ID_PATH for devices with an unknown parent device type

https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1321816

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
udev-builtin-keyboard: Allow numeric key codes

Like with the old udev rules, allow hwdb entries to specify numeric key codes.
Based on a patch from Mircea Miron.

https://launchpad.net/bugs/1247584

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
keymap: Fix HP Pavillon DV7

Properly disable scan code 94 instead of producing KEY_0.

https://launchpad.net/bugs/1322770

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
src/collect/collect.c: remove excessive error reporting

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
src/libudev/missing.h: clean up unused BTRFS_* decls

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
rules: bring up to date

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
docs/gudev/gudev-sections.txt: add two missing functions

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
m4/gtk-doc.m4: update to serial 2

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
test: use _cleanup_ attribute

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>