root/drivers/media/pci/bt8xx/dst_priv.h
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * dst-bt878.h: part of the DST driver for the TwinHan DST Frontend
 *
 * Copyright (C) 2003 Jamie Honan
 */

struct dst_gpio_enable {
        u32     mask;
        u32     enable;
};

struct dst_gpio_output {
        u32     mask;
        u32     highvals;
};

struct dst_gpio_read {
        unsigned long value;
};

union dst_gpio_packet {
        struct dst_gpio_enable enb;
        struct dst_gpio_output outp;
        struct dst_gpio_read rd;
        int    psize;
};

#define DST_IG_ENABLE   0
#define DST_IG_WRITE    1
#define DST_IG_READ     2
#define DST_IG_TS       3

struct bt878;

int bt878_device_control(struct bt878 *bt, unsigned int cmd, union dst_gpio_packet *mp);