return 0;
}
-EXPORT_SYMBOL(comedi_apply_calibration,0.7.20);
-int comedi_apply_parsed_calibration( comedi_t *dev, unsigned int subdev, unsigned int channel,
+EXPORT_ALIAS_DEFAULT(_comedi_apply_parsed_calibration,comedi_apply_parsed_calibration,0.7.20);
+int _comedi_apply_parsed_calibration( comedi_t *dev, unsigned int subdev, unsigned int channel,
unsigned int range, unsigned int aref, const comedi_calibration_t *calibration )
{
int retval;
return retval;
}
-EXPORT_SYMBOL(comedi_get_default_calibration_path,0.7.20);
-char* comedi_get_default_calibration_path( comedi_t *dev )
+/* munge characters in board name that will cause problems with file paths */
+static void fixup_board_name( char *name )
+{
+ while( ( name = strchr( name, '/' ) ) )
+ {
+ if( name )
+ {
+ *name = '-';
+ name++;
+ }
+ }
+}
+
+EXPORT_ALIAS_DEFAULT(_comedi_get_default_calibration_path,comedi_get_default_calibration_path,0.7.20);
+char* _comedi_get_default_calibration_path( comedi_t *dev )
{
struct stat file_stats;
char *file_path;
- char *board_name;
+ char *board_name, *temp;
+ char *driver_name;
if( fstat( comedi_fileno( dev ), &file_stats ) < 0 )
{
return NULL;
}
- board_name = comedi_get_board_name( dev );
- if( board_name == NULL )
+ driver_name = comedi_get_driver_name( dev );
+ if( driver_name == NULL )
{
return NULL;
}
- asprintf( &file_path, "/etc/comedi/calibrations/%s_comedi%li",
- board_name, ( unsigned long ) minor( file_stats.st_rdev ) );
+ temp = comedi_get_board_name( dev );
+ if( temp == NULL )
+ {
+ return NULL;
+ }
+ board_name = strdup( temp );
+
+ fixup_board_name( board_name );
+ asprintf( &file_path, LOCALSTATEDIR "/lib/comedi/calibrations/%s_%s_comedi%li",
+ driver_name, board_name, ( unsigned long ) minor( file_stats.st_rdev ) );
+ free( board_name );
return file_path;
}
-EXPORT_SYMBOL(comedi_apply_calibration,0.7.20);
-int comedi_apply_calibration( comedi_t *dev, unsigned int subdev, unsigned int channel,
+EXPORT_ALIAS_DEFAULT(_comedi_apply_calibration,comedi_apply_calibration,0.7.20);
+int _comedi_apply_calibration( comedi_t *dev, unsigned int subdev, unsigned int channel,
unsigned int range, unsigned int aref, const char *cal_file_path )
{
char file_path[ 1024 ];