{"push_id":851447005,"size":1,"distinct_size":1,"ref":"refs/heads/M_staging","head":"e34f49ab4305928464bcd6a6dd1476c93b7d2504","before":"7ea3df1db28c9ba262a1e483ac580b814f49f660","commits":[{"sha":"e34f49ab4305928464bcd6a6dd1476c93b7d2504","author":{"email":"9e6ba6483b6a3e14d61f7c987e72ecb5b46122d6@mev.co.uk","name":"Ian Abbott"},"message":"staging: comedi: adl_pci7x3x: fix digital output on PCI-7230\n\ncommit ad83dbd974feb2e2a8cc071a1d28782bd4d2c70e upstream.\n\nThe \"adl_pci7x3x\" driver replaced the \"adl_pci7230\" and \"adl_pci7432\"\ndrivers in commits 8f567c373c4b (\"staging: comedi: new adl_pci7x3x\ndriver\") and 657f77d173d3 (\"staging: comedi: remove adl_pci7230 and\nadl_pci7432 drivers\").  Although the new driver code agrees with the\nuser manuals for the respective boards, digital outputs stopped working\non the PCI-7230.  This has 16 digital output channels and the previous\nadl_pci7230 driver shifted the 16 bit output state left by 16 bits\nbefore writing to the hardware register.  The new adl_pci7x3x driver\ndoesn't do that.  Fix it in `adl_pci7x3x_do_insn_bits()` by checking\nfor the special case of the subdevice having only 16 channels and\nduplicating the 16 bit output state into both halves of the 32-bit\nregister.  That should work both for what the board actually does and\nfor what the user manual says it should do.\n\nFixes: 8f567c373c4b (\"staging: comedi: new adl_pci7x3x driver\")\nSigned-off-by: Ian Abbott <abbotti@mev.co.uk>\nSigned-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>\nSigned-off-by: Pranav Vashi <neobuddy89@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Starship-Android/starship_kernel_moto_shamu/commits/e34f49ab4305928464bcd6a6dd1476c93b7d2504"}]}