|
@@ -166,6 +166,18 @@ static struct axis_conversion lis3lv02d_axis_xy_swap_yz_inverted = {2, -1, -3};
|
|
|
}, \
|
|
|
.driver_data = &lis3lv02d_axis_##_axis \
|
|
|
}
|
|
|
+
|
|
|
+#define AXIS_DMI_MATCH2(_ident, _class1, _name1, \
|
|
|
+ _class2, _name2, \
|
|
|
+ _axis) { \
|
|
|
+ .ident = _ident, \
|
|
|
+ .callback = lis3lv02d_dmi_matched, \
|
|
|
+ .matches = { \
|
|
|
+ DMI_MATCH(DMI_##_class1, _name1), \
|
|
|
+ DMI_MATCH(DMI_##_class2, _name2), \
|
|
|
+ }, \
|
|
|
+ .driver_data = &lis3lv02d_axis_##_axis \
|
|
|
+}
|
|
|
static struct dmi_system_id lis3lv02d_dmi_ids[] = {
|
|
|
/* product names are truncated to match all kinds of a same model */
|
|
|
AXIS_DMI_MATCH("NC64x0", "HP Compaq nc64", x_inverted),
|
|
@@ -179,6 +191,16 @@ static struct dmi_system_id lis3lv02d_dmi_ids[] = {
|
|
|
AXIS_DMI_MATCH("NC673x", "HP Compaq 673", xy_rotated_left_usd),
|
|
|
AXIS_DMI_MATCH("NC651xx", "HP Compaq 651", xy_rotated_right),
|
|
|
AXIS_DMI_MATCH("NC671xx", "HP Compaq 671", xy_swap_yz_inverted),
|
|
|
+ /* Intel-based HP Pavilion dv5 */
|
|
|
+ AXIS_DMI_MATCH2("HPDV5_I",
|
|
|
+ PRODUCT_NAME, "HP Pavilion dv5",
|
|
|
+ BOARD_NAME, "3603",
|
|
|
+ x_inverted),
|
|
|
+ /* AMD-based HP Pavilion dv5 */
|
|
|
+ AXIS_DMI_MATCH2("HPDV5_A",
|
|
|
+ PRODUCT_NAME, "HP Pavilion dv5",
|
|
|
+ BOARD_NAME, "3600",
|
|
|
+ y_inverted),
|
|
|
{ NULL, }
|
|
|
/* Laptop models without axis info (yet):
|
|
|
* "NC6910" "HP Compaq 6910"
|