You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
181 lines
6.7 KiB
181 lines
6.7 KiB
/*!
|
|
* @section LICENSE
|
|
* (C) Copyright 2011~2016 Bosch Sensortec GmbH All Rights Reserved
|
|
*
|
|
* (C) Modification Copyright 2018 Robert Bosch Kft All Rights Reserved
|
|
*
|
|
* This software program is licensed subject to the GNU General
|
|
* Public License (GPL).Version 2,June 1991,
|
|
* available at http://www.fsf.org/copyleft/gpl.html
|
|
*
|
|
* Special: Description of the Software:
|
|
*
|
|
* This software module (hereinafter called "Software") and any
|
|
* information on application-sheets (hereinafter called "Information") is
|
|
* provided free of charge for the sole purpose to support your application
|
|
* work.
|
|
*
|
|
* As such, the Software is merely an experimental software, not tested for
|
|
* safety in the field and only intended for inspiration for further development
|
|
* and testing. Any usage in a safety-relevant field of use (like automotive,
|
|
* seafaring, spacefaring, industrial plants etc.) was not intended, so there are
|
|
* no precautions for such usage incorporated in the Software.
|
|
*
|
|
* The Software is specifically designed for the exclusive use for Bosch
|
|
* Sensortec products by personnel who have special experience and training. Do
|
|
* not use this Software if you do not have the proper experience or training.
|
|
*
|
|
* This Software package is provided as is and without any expressed or
|
|
* implied warranties, including without limitation, the implied warranties of
|
|
* merchantability and fitness for a particular purpose.
|
|
*
|
|
* Bosch Sensortec and their representatives and agents deny any liability for
|
|
* the functional impairment of this Software in terms of fitness, performance
|
|
* and safety. Bosch Sensortec and their representatives and agents shall not be
|
|
* liable for any direct or indirect damages or injury, except as otherwise
|
|
* stipulated in mandatory applicable law.
|
|
* The Information provided is believed to be accurate and reliable. Bosch
|
|
* Sensortec assumes no responsibility for the consequences of use of such
|
|
* Information nor for any infringement of patents or other rights of third
|
|
* parties which may result from its use.
|
|
*
|
|
*------------------------------------------------------------------------------
|
|
* The following Product Disclaimer does not apply to the BSX4-HAL-4.1NoFusion Software
|
|
* which is licensed under the Apache License, Version 2.0 as stated above.
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Product Disclaimer
|
|
*
|
|
* Common:
|
|
*
|
|
* Assessment of Products Returned from Field
|
|
*
|
|
* Returned products are considered good if they fulfill the specifications /
|
|
* test data for 0-mileage and field listed in this document.
|
|
*
|
|
* Engineering Samples
|
|
*
|
|
* Engineering samples are marked with (e) or (E). Samples may vary from the
|
|
* valid technical specifications of the series product contained in this
|
|
* data sheet. Therefore, they are not intended or fit for resale to
|
|
* third parties or for use in end products. Their sole purpose is internal
|
|
* client testing. The testing of an engineering sample may in no way replace
|
|
* the testing of a series product. Bosch assumes no liability for the use
|
|
* of engineering samples. The purchaser shall indemnify Bosch from all claims
|
|
* arising from the use of engineering samples.
|
|
*
|
|
* Intended use
|
|
*
|
|
* Provided that SMI130 is used within the conditions (environment, application,
|
|
* installation, loads) as described in this TCD and the corresponding
|
|
* agreed upon documents, Bosch ensures that the product complies with
|
|
* the agreed properties. Agreements beyond this require
|
|
* the written approval by Bosch. The product is considered fit for the intended
|
|
* use when the product successfully has passed the tests
|
|
* in accordance with the TCD and agreed upon documents.
|
|
*
|
|
* It is the responsibility of the customer to ensure the proper application
|
|
* of the product in the overall system/vehicle.
|
|
*
|
|
* Bosch does not assume any responsibility for changes to the environment
|
|
* of the product that deviate from the TCD and the agreed upon documents
|
|
* as well as all applications not released by Bosch
|
|
*
|
|
* The resale and/or use of products are at the purchaser’s own risk and
|
|
* responsibility. The examination and testing of the SMI130
|
|
* is the sole responsibility of the purchaser.
|
|
*
|
|
* The purchaser shall indemnify Bosch from all third party claims
|
|
* arising from any product use not covered by the parameters of
|
|
* this product data sheet or not approved by Bosch and reimburse Bosch
|
|
* for all costs and damages in connection with such claims.
|
|
*
|
|
* The purchaser must monitor the market for the purchased products,
|
|
* particularly with regard to product safety, and inform Bosch without delay
|
|
* of all security relevant incidents.
|
|
*
|
|
* Application Examples and Hints
|
|
*
|
|
* With respect to any application examples, advice, normal values
|
|
* and/or any information regarding the application of the device,
|
|
* Bosch hereby disclaims any and all warranties and liabilities of any kind,
|
|
* including without limitation warranties of
|
|
* non-infringement of intellectual property rights or copyrights
|
|
* of any third party.
|
|
* The information given in this document shall in no event be regarded
|
|
* as a guarantee of conditions or characteristics. They are provided
|
|
* for illustrative purposes only and no evaluation regarding infringement
|
|
* of intellectual property rights or copyrights or regarding functionality,
|
|
* performance or error has been made.
|
|
*
|
|
* @filename boschcalss.h
|
|
* @date 2015/11/17 13:44
|
|
* @Modification Date 2018/08/28 18:20
|
|
* @id "836294d"
|
|
* @version 1.5.9
|
|
*
|
|
* @brief
|
|
*/
|
|
|
|
#ifndef _BSTCLASS_H
|
|
#define _BSTCLASS_H
|
|
|
|
#ifdef __KERNEL__
|
|
#include <linux/time.h>
|
|
#include <linux/list.h>
|
|
#else
|
|
#include <sys/time.h>
|
|
#include <sys/ioctl.h>
|
|
#include <sys/types.h>
|
|
#include <linux/types.h>
|
|
#endif
|
|
|
|
#include <linux/device.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/mod_devicetable.h>
|
|
|
|
struct bosch_dev {
|
|
const char *name;
|
|
|
|
int (*open)(struct bosch_dev *dev);
|
|
void (*close)(struct bosch_dev *dev);
|
|
struct mutex mutex;
|
|
struct device dev;
|
|
struct list_head node;
|
|
};
|
|
|
|
#define to_bosch_dev(d) container_of(d, struct bosch_dev, dev)
|
|
|
|
struct bosch_dev *bosch_allocate_device(void);
|
|
void bosch_free_device(struct bosch_dev *dev);
|
|
|
|
static inline struct bosch_dev *bosch_get_device(struct bosch_dev *dev)
|
|
{
|
|
return dev ? to_bosch_dev(get_device(&dev->dev)) : NULL;
|
|
}
|
|
|
|
static inline void bosch_put_device(struct bosch_dev *dev)
|
|
{
|
|
if (dev)
|
|
put_device(&dev->dev);
|
|
}
|
|
|
|
static inline void *bosch_get_drvdata(struct bosch_dev *dev)
|
|
{
|
|
return dev_get_drvdata(&dev->dev);
|
|
}
|
|
|
|
static inline void bosch_set_drvdata(struct bosch_dev *dev, void *data)
|
|
{
|
|
dev_set_drvdata(&dev->dev, data);
|
|
}
|
|
|
|
int __must_check bosch_register_device(struct bosch_dev *);
|
|
void bosch_unregister_device(struct bosch_dev *);
|
|
|
|
void bosch_reset_device(struct bosch_dev *);
|
|
|
|
|
|
extern struct class bosch_class;
|
|
|
|
#endif
|
|
|