From fe2557b6eb55be3c2d36e1ee396e0f10e41bd214 Mon Sep 17 00:00:00 2001 From: S K Date: Sun, 21 Feb 2016 23:36:29 +0100 Subject: [PATCH] PS/2: fix warnings, enable -Werror - elantech: Remove unused variables and functions. - "movement maker": float/int confusions - debugger keymap: don't use multi-byte chars in preprocessor to avoid warnings with gcc2 (even with -Wno-multichar) Signed-off-by: Adrien Destugues Fixes #12658 --- build/config_headers/kernel_debugger_config.h | 9 ++++- build/jam/ArchitectureRules | 2 +- headers/private/kernel/debugger_keymaps.h | 10 +++--- .../bus_managers/ps2/movement_maker.cpp | 34 +++++++++---------- .../kernel/bus_managers/ps2/movement_maker.h | 9 +++-- .../kernel/bus_managers/ps2/ps2_elantech.cpp | 25 -------------- 6 files changed, 36 insertions(+), 53 deletions(-) diff --git a/build/config_headers/kernel_debugger_config.h b/build/config_headers/kernel_debugger_config.h index 0f11cd04f5..91d6ade102 100644 --- a/build/config_headers/kernel_debugger_config.h +++ b/build/config_headers/kernel_debugger_config.h @@ -7,7 +7,14 @@ // 'it' italian keymap // 'sg' swiss-german keymap // 'us' default US keymap -#define KDL_KEYMAP 'us' + +#define KDL_KEYMAP_DV 1 +#define KDL_KEYMAP_FR 2 +#define KDL_KEYMAP_IT 3 +#define KDL_KEYMAP_SG 4 +#define KDL_KEYMAP_US 5 + +#define KDL_KEYMAP KDL_KEYMAP_FR #endif // KERNEL_DEBUGGER_CONFIG_H diff --git a/build/jam/ArchitectureRules b/build/jam/ArchitectureRules index 78a397c48d..16bf7d4822 100644 --- a/build/jam/ArchitectureRules +++ b/build/jam/ArchitectureRules @@ -504,7 +504,7 @@ rule ArchitectureSetupWarnings architecture EnableWerror src add-ons kernel bus_managers ide ; EnableWerror src add-ons kernel bus_managers isa ; EnableWerror src add-ons kernel bus_managers pci ; -# EnableWerror src add-ons kernel bus_managers ps2 ; # gcc2 + EnableWerror src add-ons kernel bus_managers ps2 ; EnableWerror src add-ons kernel bus_managers random ; EnableWerror src add-ons kernel bus_managers scsi ; EnableWerror src add-ons kernel bus_managers tty ; diff --git a/headers/private/kernel/debugger_keymaps.h b/headers/private/kernel/debugger_keymaps.h index 5a69ecf838..82c9772d11 100644 --- a/headers/private/kernel/debugger_keymaps.h +++ b/headers/private/kernel/debugger_keymaps.h @@ -10,9 +10,10 @@ #ifndef DEBUGGER_KEYMAPS_H #define DEBUGGER_KEYMAPS_H + #include "kernel_debugger_config.h" -#if KDL_KEYMAP == 'dv' +#if KDL_KEYMAP == KDL_KEYMAP_DV static const char kUnshiftedKeymap[128] = { 0, 27, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '[', ']', 8, '\t', @@ -47,7 +48,7 @@ static const char kAltedKeymap[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; -#elif KDL_KEYMAP == 'fr' +#elif KDL_KEYMAP == KDL_KEYMAP_FR static const char kUnshiftedKeymap[128] = { 0, 27, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 0, '+', 8, '\t', @@ -82,7 +83,7 @@ static const char kAltedKeymap[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; -#elif KDL_KEYMAP == 'it' +#elif KDL_KEYMAP == KDL_KEYMAP_IT static const char kUnshiftedKeymap[128] = { 0, 27, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '\'', '^', 8, '\t', @@ -117,7 +118,7 @@ static const char kAltedKeymap[128] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; -#elif KDL_KEYMAP == 'sg' +#elif KDL_KEYMAP == KDL_KEYMAP_SG static const char kUnshiftedKeymap[128] = { 0, 27, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '\'', '^', 8, '\t', @@ -154,6 +155,7 @@ static const char kAltedKeymap[128] = { #else // default US keymap +#error "use default keymap" static const char kUnshiftedKeymap[128] = { 0, 27, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', 8, '\t', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', '\n', 0, 'a', 's', diff --git a/src/add-ons/kernel/bus_managers/ps2/movement_maker.cpp b/src/add-ons/kernel/bus_managers/ps2/movement_maker.cpp index 41bdf86315..ce5fc0bd66 100644 --- a/src/add-ons/kernel/bus_managers/ps2/movement_maker.cpp +++ b/src/add-ons/kernel/bus_managers/ps2/movement_maker.cpp @@ -175,13 +175,13 @@ sqrtf(float x) } -int32 +static int32 make_small(float value) { if (value > 0) - return floorf(value); + return (int32)floorf(value); else - return ceilf(value); + return (int32)ceilf(value); } @@ -272,8 +272,8 @@ void MovementMaker::_GetRawMovement(uint32 posX, uint32 posY) { // calibrated on the synaptics touchpad - posX = posX * float(SYN_WIDTH) / fAreaWidth; - posY = posY * float(SYN_HEIGHT) / fAreaHeight; + posX = posX * SYN_WIDTH / fAreaWidth; + posY = posY * SYN_HEIGHT / fAreaHeight; const float acceleration = 0.8; const float translation = 12.0; @@ -296,7 +296,7 @@ MovementMaker::_GetRawMovement(uint32 posX, uint32 posY) diff /= 2; } if (diff == 0) - fDeltaSumX = 0.0; + fDeltaSumX = 0; else fDeltaSumX += diff; @@ -307,7 +307,7 @@ MovementMaker::_GetRawMovement(uint32 posX, uint32 posY) diff /= 2; } if (diff == 0) - fDeltaSumY = 0.0; + fDeltaSumY = 0; else fDeltaSumY += diff; @@ -442,7 +442,7 @@ TouchpadMovement::_EdgeMotion(mouse_movement *movement, touch_event *event, bool inXEdge = false; bool inYEdge = false; - if (event->xPosition < fSpecs->areaStartX + fSpecs->edgeMotionWidth) { + if (int32(event->xPosition) < fSpecs->areaStartX + fSpecs->edgeMotionWidth) { inXEdge = true; xdelta *= -1; } else if (event->xPosition > uint16( @@ -450,7 +450,7 @@ TouchpadMovement::_EdgeMotion(mouse_movement *movement, touch_event *event, inXEdge = true; } - if (event->yPosition < fSpecs->areaStartY + fSpecs->edgeMotionWidth) { + if (int32(event->yPosition) < fSpecs->areaStartY + fSpecs->edgeMotionWidth) { inYEdge = true; ydelta *= -1; } else if (event->yPosition > uint16( @@ -461,9 +461,9 @@ TouchpadMovement::_EdgeMotion(mouse_movement *movement, touch_event *event, // for a edge motion the drag has to be started in the middle of the pad // TODO: this is difficult to understand simplify the code if (inXEdge && validStart) - movement->xdelta = xdelta; + movement->xdelta = make_small(xdelta); if (inYEdge && validStart) - movement->ydelta = ydelta; + movement->ydelta = make_small(ydelta); if (!inXEdge && !inYEdge) fLastEdgeMotion = 0; @@ -568,12 +568,12 @@ TouchpadMovement::_MoveToMovement(touch_event *event, mouse_movement *movement) GetMovement(event->xPosition, event->yPosition); - movement->xdelta = xDelta; - movement->ydelta = yDelta; + movement->xdelta = make_small(xDelta); + movement->ydelta = make_small(yDelta); // tap gesture - fTapDeltaX += xDelta; - fTapDeltaY += yDelta; + fTapDeltaX += make_small(xDelta); + fTapDeltaY += make_small(yDelta); if (fTapdragStarted) { movement->buttons = kLeftButton; @@ -657,8 +657,8 @@ TouchpadMovement::_CheckScrollingToMovement(touch_event *event, StartNewMovment(); } GetScrolling(event->xPosition, event->yPosition); - movement->wheel_ydelta = yDelta; - movement->wheel_xdelta = xDelta; + movement->wheel_ydelta = make_small(yDelta); + movement->wheel_xdelta = make_small(xDelta); if (isSideScrollingV && !isSideScrollingH) movement->wheel_xdelta = 0; diff --git a/src/add-ons/kernel/bus_managers/ps2/movement_maker.h b/src/add-ons/kernel/bus_managers/ps2/movement_maker.h index 2c762b5574..5375f78dd9 100644 --- a/src/add-ons/kernel/bus_managers/ps2/movement_maker.h +++ b/src/add-ons/kernel/bus_managers/ps2/movement_maker.h @@ -10,7 +10,6 @@ float floorf(float x); float ceilf(float x); float sqrtf(float x); -int32 make_small(float value); struct touch_event { @@ -58,8 +57,8 @@ public: void SetSettings(touchpad_settings* settings); void SetSpecs(hardware_specs* specs); - int32 xDelta; - int32 yDelta; + float xDelta; + float yDelta; float scrolling_x; float scrolling_y; @@ -85,8 +84,8 @@ private: uint32 fPreviousX; uint32 fPreviousY; - int32 fDeltaSumX; - int32 fDeltaSumY; + float fDeltaSumX; + float fDeltaSumY; int8 fSmallMovement; }; diff --git a/src/add-ons/kernel/bus_managers/ps2/ps2_elantech.cpp b/src/add-ons/kernel/bus_managers/ps2/ps2_elantech.cpp index e3a33df40c..82aaf16ab7 100644 --- a/src/add-ons/kernel/bus_managers/ps2/ps2_elantech.cpp +++ b/src/add-ons/kernel/bus_managers/ps2/ps2_elantech.cpp @@ -210,7 +210,6 @@ default_settings(touchpad_settings *set) static status_t synaptics_dev_send_command(ps2_dev* dev, uint8 cmd, uint8 *in, int in_count) { - uint8 val; if (ps2_dev_sliced_command(dev, cmd) != B_OK || ps2_dev_command(dev, PS2_CMD_MOUSE_GET_INFO, NULL, 0, in, in_count) != B_OK) { @@ -224,7 +223,6 @@ synaptics_dev_send_command(ps2_dev* dev, uint8 cmd, uint8 *in, int in_count) static status_t elantech_dev_send_command(ps2_dev* dev, uint8 cmd, uint8 *in, int in_count) { - uint8 val; if (ps2_dev_command(dev, ELANTECH_CMD_PS2_CUSTOM_CMD) != B_OK || ps2_dev_command(dev, cmd) != B_OK || ps2_dev_command(dev, PS2_CMD_MOUSE_GET_INFO, NULL, 0, in, in_count) @@ -239,7 +237,6 @@ elantech_dev_send_command(ps2_dev* dev, uint8 cmd, uint8 *in, int in_count) status_t probe_elantech(ps2_dev* dev) { - int i; uint8 val[3]; TRACE("ELANTECH: probe\n"); @@ -388,27 +385,6 @@ elantech_read_reg(elantech_cookie* cookie, uint8 reg, uint8 *value) } - -static status_t -switch_hardware_tab(ps2_dev* dev, bool on) -{ - uint8 val[3]; - uint8 arg = 0x00; - uint8 command = PS2_CMD_MOUSE_SET_RES; - if (on) { - arg = 0x0A; - command = PS2_CMD_SET_SAMPLE_RATE; - } - if (ps2_dev_command(dev, PS2_CMD_MOUSE_GET_INFO, NULL, 0, val, 3) != B_OK - || ps2_dev_command(dev, PS2_CMD_DISABLE, NULL, 0, NULL, 0) != B_OK - || ps2_dev_command(dev, PS2_CMD_DISABLE, NULL, 0, NULL, 0) != B_OK - || ps2_dev_command(dev, command, &arg, 1, NULL, 0) != B_OK) - return B_ERROR; - - return B_OK; -} - - static status_t get_resolution_v4(elantech_cookie* cookie, uint32* x, uint32* y) { @@ -426,7 +402,6 @@ static status_t get_range(elantech_cookie* cookie, uint32* x_min, uint32* y_min, uint32* x_max, uint32* y_max, uint32 *width) { - status_t status = B_OK; uint8 val[3]; switch (cookie->version) { case 1: