linux/drivers/misc/cardreader/rtl8411.c

// SPDX-License-Identifier: GPL-2.0-or-later
/* Driver for Realtek PCI-Express card reader
 *
 * Copyright(c) 2009-2013 Realtek Semiconductor Corp. All rights reserved.
 *
 * Author:
 *   Wei WANG <[email protected]>
 *   Roger Tseng <[email protected]>
 */

#include <linux/module.h>
#include <linux/bitops.h>
#include <linux/delay.h>
#include <linux/rtsx_pci.h>

#include "rtsx_pcr.h"

static u8 rtl8411_get_ic_version(struct rtsx_pcr *pcr)
{}

static int rtl8411b_is_qfn48(struct rtsx_pcr *pcr)
{}

static void rtl8411_fetch_vendor_settings(struct rtsx_pcr *pcr)
{}

static void rtl8411b_fetch_vendor_settings(struct rtsx_pcr *pcr)
{}

static void rtl8411_force_power_down(struct rtsx_pcr *pcr, u8 pm_state, bool runtime)
{}

static int rtl8411_extra_init_hw(struct rtsx_pcr *pcr)
{}

static int rtl8411b_extra_init_hw(struct rtsx_pcr *pcr)
{}

static int rtl8411_turn_on_led(struct rtsx_pcr *pcr)
{}

static int rtl8411_turn_off_led(struct rtsx_pcr *pcr)
{}

static int rtl8411_enable_auto_blink(struct rtsx_pcr *pcr)
{}

static int rtl8411_disable_auto_blink(struct rtsx_pcr *pcr)
{}

static int rtl8411_card_power_on(struct rtsx_pcr *pcr, int card)
{}

static int rtl8411_card_power_off(struct rtsx_pcr *pcr, int card)
{}

static int rtl8411_do_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage,
		int bpp_tuned18_shift, int bpp_asic_1v8)
{}

static int rtl8411_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage)
{}

static int rtl8402_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage)
{}

static unsigned int rtl8411_cd_deglitch(struct rtsx_pcr *pcr)
{}

static int rtl8411_conv_clk_and_div_n(int input, int dir)
{}

static const struct pcr_ops rtl8411_pcr_ops =;

static const struct pcr_ops rtl8402_pcr_ops =;

static const struct pcr_ops rtl8411b_pcr_ops =;

/* SD Pull Control Enable:
 *     SD_DAT[3:0] ==> pull up
 *     SD_CD       ==> pull up
 *     SD_WP       ==> pull up
 *     SD_CMD      ==> pull up
 *     SD_CLK      ==> pull down
 */
static const u32 rtl8411_sd_pull_ctl_enable_tbl[] =;

/* SD Pull Control Disable:
 *     SD_DAT[3:0] ==> pull down
 *     SD_CD       ==> pull up
 *     SD_WP       ==> pull down
 *     SD_CMD      ==> pull down
 *     SD_CLK      ==> pull down
 */
static const u32 rtl8411_sd_pull_ctl_disable_tbl[] =;

/* MS Pull Control Enable:
 *     MS CD       ==> pull up
 *     others      ==> pull down
 */
static const u32 rtl8411_ms_pull_ctl_enable_tbl[] =;

/* MS Pull Control Disable:
 *     MS CD       ==> pull up
 *     others      ==> pull down
 */
static const u32 rtl8411_ms_pull_ctl_disable_tbl[] =;

static const u32 rtl8411b_qfn64_sd_pull_ctl_enable_tbl[] =;

static const u32 rtl8411b_qfn48_sd_pull_ctl_enable_tbl[] =;

static const u32 rtl8411b_qfn64_sd_pull_ctl_disable_tbl[] =;

static const u32 rtl8411b_qfn48_sd_pull_ctl_disable_tbl[] =;

static const u32 rtl8411b_qfn64_ms_pull_ctl_enable_tbl[] =;

static const u32 rtl8411b_qfn48_ms_pull_ctl_enable_tbl[] =;

static const u32 rtl8411b_qfn64_ms_pull_ctl_disable_tbl[] =;

static const u32 rtl8411b_qfn48_ms_pull_ctl_disable_tbl[] =;

static void rtl8411_init_common_params(struct rtsx_pcr *pcr)
{}

void rtl8411_init_params(struct rtsx_pcr *pcr)
{}

void rtl8411b_init_params(struct rtsx_pcr *pcr)
{}

void rtl8402_init_params(struct rtsx_pcr *pcr)
{}