static ssize_t razer_attr_write_mode_static(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { struct usb_interface *intf = to_usb_interface(dev->parent); //struct razer_kbd_device *widow = usb_get_intfdata(intf); struct usb_device *usb_dev = interface_to_usbdev(intf); struct razer_rgb color; if(count==3) { color.r = buf[0]; color.g = buf[1]; color.b = buf[2]; razer_set_static_mode(usb_dev,&color); } return count; }
/** * Write device file "mode_static" * * Set the keyboard to static mode when 3 RGB bytes are written */ static ssize_t razer_attr_write_mode_static(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { struct usb_interface *intf = to_usb_interface(dev->parent); struct usb_device *usb_dev = interface_to_usbdev(intf); if(usb_dev->descriptor.idProduct == USB_DEVICE_ID_RAZER_BLACKWIDOW_ULTIMATE_2013) { // Set BlackWidow Ultimate to static colour razer_set_static_mode_blackwidow_ultimate(usb_dev); } else if(usb_dev->descriptor.idProduct == USB_DEVICE_ID_RAZER_BLACKWIDOW_CHROMA) { // Set BlackWidow Chroma to static colour if(count == 3) { razer_set_static_mode(usb_dev, (struct razer_rgb*)&buf[0]); } } else { printk(KERN_WARNING "razerkbd: Cannot set static mode for this device"); } return count; }