The LSM303DLH is a 3-axis accelerometer and magnetometer.
The official driver available is available at a cached version of the manufacturer's website. The driver is open source an it was released under the GNU General Public License (v2). It compiles fine, and the accelerometer module can be loaded without problems:
... [ 124.908804] lsm303dlh_acc_sysfs accelerometer driver: init [ 124.908876] i2c-core: driver [lsm303dlh_acc_sysfs] using legacy suspend method [ 124.908885] i2c-core: driver [lsm303dlh_acc_sysfs] using legacy resume method
The following error occurs when loading the magnetometer module:
... [ 2546.530196] lsm303dlh_mag_sysfs: Unknown symbol input_allocate_polled_device (err 0) [ 2546.530271] lsm303dlh_mag_sysfs: Unknown symbol input_free_polled_device (err 0) [ 2546.530425] lsm303dlh_mag_sysfs: Unknown symbol input_register_polled_device (err 0) [ 2546.530550] lsm303dlh_mag_sysfs: Unknown symbol input_unregister_polled_device (err 0)
Instantiate the device
Run the following command to instantiate the device:
# echo lsm303dlh_acc_sysfs 25 > /sys/bus/i2c/devices/i2c-2/new_device
Although, it seems to be a problem with the driver.
... [ 833.274769] lsm303dlh_acc_sysfs: probe start. [ 833.274781] lsm303dlh_acc_sysfs 2-0019: platform data is NULL. exiting. [ 833.274790] lsm303dlh_acc_sysfs: Driver Init failed [ 833.274813] i2c i2c-2: new_device: Instantiated device lsm303dlh_acc_sysfs at 0x19