} poll_delay_t;
typedef struct {
- volatile jr3_channel_t *channel;
+ volatile struct jr3_channel *channel;
unsigned long next_time_min;
unsigned long next_time_max;
enum { state_jr3_poll,
return result;
}
-static int is_complete(volatile jr3_channel_t * channel)
+static int is_complete(volatile struct jr3_channel *channel)
{
return get_s16(&channel->command_word0) == 0;
}
} link[8];
} transform_t;
-static void set_transforms(volatile jr3_channel_t * channel,
+static void set_transforms(volatile struct jr3_channel *channel,
transform_t transf, short num)
{
int i;
}
}
-static void use_transform(volatile jr3_channel_t * channel, short transf_num)
+static void use_transform(volatile struct jr3_channel *channel, short transf_num)
{
set_s16(&channel->command_word0, 0x0500 + (transf_num & 0x000f));
}
-static void use_offset(volatile jr3_channel_t * channel, short offset_num)
+static void use_offset(volatile struct jr3_channel *channel, short offset_num)
{
set_s16(&channel->command_word0, 0x0600 + (offset_num & 0x000f));
}
-static void set_offset(volatile jr3_channel_t * channel)
+static void set_offset(volatile struct jr3_channel *channel)
{
set_s16(&channel->command_word0, 0x0700);
}
s16 mz;
} six_axis_t;
-static void set_full_scales(volatile jr3_channel_t * channel,
+static void set_full_scales(volatile struct jr3_channel *channel,
six_axis_t full_scale)
{
printk("%d %d %d %d %d %d\n",
set_s16(&channel->command_word0, 0x0a00);
}
-static six_axis_t get_min_full_scales(volatile jr3_channel_t * channel)
+static six_axis_t get_min_full_scales(volatile struct jr3_channel *channel)
{
six_axis_t result;
result.fx = get_s16(&channel->min_full_scale.fx);
return result;
}
-static six_axis_t get_max_full_scales(volatile jr3_channel_t * channel)
+static six_axis_t get_max_full_scales(volatile struct jr3_channel *channel)
{
six_axis_t result;
result.fx = get_s16(&channel->max_full_scale.fx);
jr3_pci_subdev_private *p = s->private;
if (p) {
- volatile jr3_channel_t *channel = p->channel;
+ volatile struct jr3_channel *channel = p->channel;
int errors = get_u16(&channel->errors);
if (errors != p->errors) {
opt_bus = it->options[0];
opt_slot = it->options[1];
- if (sizeof(jr3_channel_t) != 0xc00) {
- printk("sizeof(jr3_channel_t) = %x [expected %x]\n",
- (unsigned)sizeof(jr3_channel_t), 0xc00);
+ if (sizeof(struct jr3_channel) != 0xc00) {
+ printk("sizeof(struct jr3_channel) = %x [expected %x]\n",
+ (unsigned)sizeof(struct jr3_channel), 0xc00);
return -EINVAL;
}
/* JR3 force/torque sensor data definition. For more information see sensor and */
/* hardware manuals. */
-typedef struct force_sensor_data {
+struct jr3_channel {
/* Raw_channels is the area used to store the raw data coming from */
/* the sensor. */
*/
struct intern_transform transforms[0x10]; /* offset 0x0200 */
-} jr3_channel_t;
+};
struct jr3_t {
struct {
u32 program_low[0x4000]; /* 0x00000 - 0x10000 */
- jr3_channel_t data; /* 0x10000 - 0x10c00 */
+ struct jr3_channel data; /* 0x10000 - 0x10c00 */
char pad2[0x30000 - 0x00c00]; /* 0x10c00 - 0x40000 */
u32 program_high[0x8000]; /* 0x40000 - 0x60000 */
u32 reset; /* 0x60000 - 0x60004 */