mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-02 03:45:58 +01:00
28 lines
518 B
Bash
28 lines
518 B
Bash
|
#!/bin/sh -eu
|
||
|
#
|
||
|
# usage: gen_pnpids.sh < pnp.ids > pnpids.c
|
||
|
|
||
|
gen_pnps()
|
||
|
{
|
||
|
while read -r id vendor; do
|
||
|
[ "${#id}" = 3 ] || exit 1
|
||
|
|
||
|
printf "\tcase PNP_ID('%c', '%c', '%c'): return \"%s\";\n" \
|
||
|
"$id" "${id#?}" "${id#??}" "$vendor"
|
||
|
done
|
||
|
}
|
||
|
|
||
|
cat << EOF
|
||
|
#include <stdint.h>
|
||
|
#include <stddef.h>
|
||
|
#include "backend/drm/util.h"
|
||
|
#define PNP_ID(a, b, c) ((a & 0x1f) << 10) | ((b & 0x1f) << 5) | (c & 0x1f)
|
||
|
const char *get_pnp_manufacturer(uint16_t code) {
|
||
|
switch (code) {
|
||
|
$(gen_pnps)
|
||
|
}
|
||
|
return NULL;
|
||
|
}
|
||
|
#undef PNP_ID
|
||
|
EOF
|