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 <pulkomandy@pulkomandy.tk>

Fixes #12658
This commit is contained in:
S K 2016-02-21 23:36:29 +01:00 committed by Adrien Destugues
parent d068622c37
commit fe2557b6eb
6 changed files with 36 additions and 53 deletions

View File

@ -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

View File

@ -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 ;

View File

@ -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',

View File

@ -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;

View File

@ -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;
};

View File

@ -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: