/* Software floating-point emulation. Basic eight-word fraction declaration and manipulation. Copyright (C) 1997,1998,1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz) and Peter Maydell (pmaydell@chiark.greenend.org.uk). The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef __MATH_EMU_OP_8_H__ #define __MATH_EMU_OP_8_H__ /* We need just a few things from here for op-4, if we ever need some other macros, they can be added. */ #define _FP_FRAC_DECL_8(X) _FP_W_TYPE X##_f[8] #define _FP_FRAC_HIGH_8(X) (X##_f[7]) #define _FP_FRAC_LOW_8(X) (X##_f[0]) #define _FP_FRAC_WORD_8(X,w) (X##_f[w]) #define _FP_FRAC_SLL_8(X,N) \ do { \ _FP_I_TYPE _up, _down, _skip, _i; \ _skip = (N) / _FP_W_TYPE_SIZE; \ _up = (N) % _FP_W_TYPE_SIZE; \ _down = _FP_W_TYPE_SIZE - _up; \ if (!_up) \ for (_i = 7; _i >= _skip; --_i) \ X##_f[_i] = X##_f[_i-_skip]; \ else \ { \ for (_i = 7; _i > _skip; --_i) \ X##_f[_i] = X##_f[_i-_skip] << _up \ | X##_f[_i-_skip-1] >> _down; \ X##_f[_i--] = X##_f[0] << _up; \ } \ for (; _i >= 0; --_i) \ X##_f[_i] = 0; \ } while (0) #define _FP_FRAC_SRL_8(X,N) \ do { \ _FP_I_TYPE _up, _down, _skip, _i; \ _skip = (N) / _FP_W_TYPE_SIZE; \ _down = (N) % _FP_W_TYPE_SIZE; \ _up = _FP_W_TYPE_SIZE - _down; \ if (!_down) \ for (_i = 0; _i <= 7-_skip; ++_i) \ X##_f[_i] = X##_f[_i+_skip]; \ else \ { \ for (_i = 0; _i < 7-_skip; ++_i) \ X##_f[_i] = X##_f[_i+_skip] >> _down \ | X##_f[_i+_skip+1] << _up; \ X##_f[_i++] = X##_f[7] >> _down; \ } \ for (; _i < 8; ++_i) \ X##_f[_i] = 0; \ } while (0) /* Right shift with sticky-lsb. * What this actually means is that we do a standard right-shift, * but that if any of the bits that fall off the right hand side * were one then we always set the LSbit. */ #define _FP_FRAC_SRS_8(X,N,size) \ do { \ _FP_I_TYPE _up, _down, _skip, _i; \ _FP_W_TYPE _s; \ _skip = (N) / _FP_W_TYPE_SIZE; \ _down = (N) % _FP_W_TYPE_SIZE; \ _up = _FP_W_TYPE_SIZE - _down; \ for (_s = _i = 0; _i < _skip; ++_i) \ _s |= X##_f[_i]; \ _s |= X##_f[_i] << _up; \ /* s is now != 0 if we want to set the LSbit */ \ if (!_down) \ for (_i = 0; _i <= 7-_skip; ++_i) \ X##_f[_i] = X##_f[_i+_skip]; \ else \ { \ for (_i = 0; _i < 7-_skip; ++_i) \ X##_f[_i] = X##_f[_i+_skip] >> _down \ | X##_f[_i+_skip+1] << _up; \ X##_f[_i++] = X##_f[7] >> _down; \ } \ for (; _i < 8; ++_i) \ X##_f[_i] = 0; \ /* don't fix the LSB until the very end when we're sure f[0] is stable */ \ X##_f[0] |= (_s != 0); \ } while (0) #endif option value='20'>20space:mode:
authorBrendan McGrath <redmcg@redmandi.dyndns.org>2016-11-29 18:59:25 +1100
committerJiri Kosina <jkosina@suse.cz>2016-11-29 16:14:32 +0100
commit9ce12d8be12c94334634dd57050444910415e45f (patch)
tree565ba7196031833b8d7e4b657b8f42fcd0e3ab74 /include/uapi/sound/Kbuild
parente2b6535d47ce223e327de053b804d2e572a98bbc (diff)
HID: asus: Add i2c touchpad support
Update the hid-asus module to add multitouch support for the Asus i2c touchpad. This patch aims to resolve the issue raised here: https://bugzilla.kernel.org/show_bug.cgi?id=120181 The issue is in relation to an Asus touchpad device which currently does not have multitouch support. The device currently falls through to the hid-generic driver which treats the device as a mouse. This patch aims to add the multitouch support. [jkosina@suse.cz: move most of the 'patch comment' into actual changelog] [jkosina@suse.cz: drop hunk that changes ->name of the driver] Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Brendan McGrath <redmcg@redmandi.dyndns.org> Signed-off-by: Victor Vlasenko <victor.vlasenko@sysgears.com> Signed-off-by: Frederik Wenigwieser <frederik.wenigwieser@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'include/uapi/sound/Kbuild')