PS2_FLAG_ENABLED
atomic_or(&dev->flags, PS2_FLAG_ENABLED);
atomic_and(&cookie->dev->flags, ~PS2_FLAG_ENABLED);
while (!(atomic_get(&dev->parent_dev->flags) & PS2_FLAG_ENABLED)) {
if ((dev->flags & PS2_FLAG_ENABLED) && dev->disconnect)
if ((flags & PS2_FLAG_ENABLED) == 0) {
atomic_or(&dev->flags, PS2_FLAG_ENABLED);
atomic_and(&cookie->dev->flags, ~PS2_FLAG_ENABLED);
atomic_or(&ps2_device[PS2_DEVICE_KEYB].flags, PS2_FLAG_ENABLED);
atomic_and(&ps2_device[PS2_DEVICE_KEYB].flags, ~PS2_FLAG_ENABLED);
atomic_or(&dev->flags, PS2_FLAG_ENABLED);
atomic_and(&cookie->dev->flags, ~PS2_FLAG_ENABLED);
atomic_or(&dev->flags, PS2_FLAG_ENABLED);
atomic_and(&cookie->dev->flags, ~PS2_FLAG_ENABLED);