+
+ case CONF_BAUDPARAMS: {
+ struct can_baudparams_t params;
+ int ret;
+
+ ret = copy_from_user(¶ms, (void*)arg, sizeof(struct can_baudparams_t));
+ if(ret) return -EFAULT;
+
+ if(params.flags == -1) params.flags = 0;
+ if(params.baudrate == -1) params.baudrate = chip->baudrate;
+ if(params.sjw == -1) params.sjw = 0;
+ if(params.sample_pt == -1) params.sample_pt = 75;
+ i=chip->chipspecops->baud_rate(chip, params.baudrate, chip->clock, params.sjw,
+ params.sample_pt, params.flags);
+ if(i>=0) chip->baudrate = params.baudrate;
+ else {
+ CANMSG("Error setting baud parameters\n");
+ return -1;
+ }
+ break;
+ }
+
+