forked from CTCaer/hekate
bdk: stylistic corrections
And update copyrights
This commit is contained in:
parent
361aaf8629
commit
9a98c1afb9
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2018-2022 CTCaer
|
* Copyright (c) 2018-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2018-2022 CTCaer
|
* Copyright (c) 2018-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* VIC driver for Tegra X1
|
* VIC driver for Tegra X1
|
||||||
*
|
*
|
||||||
* Copyright (c) 2018-2019 CTCaer
|
* Copyright (c) 2018-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Joy-Con UART driver for Nintendo Switch
|
* Joy-Con UART driver for Nintendo Switch
|
||||||
*
|
*
|
||||||
* Copyright (c) 2019-2022 CTCaer
|
* Copyright (c) 2019-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* Touch driver for Nintendo Switch's STM FingerTip S (4CD60D) touch controller
|
* Touch driver for Nintendo Switch's STM FingerTip S (4CD60D) touch controller
|
||||||
*
|
*
|
||||||
* Copyright (c) 2018 langerhans
|
* Copyright (c) 2018 langerhans
|
||||||
* Copyright (c) 2018-2020 CTCaer
|
* Copyright (c) 2018-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2018 balika011
|
* Copyright (c) 2018 balika011
|
||||||
* Copyright (c) 2019-2022 CTCaer
|
* Copyright (c) 2019-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2020-2022 CTCaer
|
* Copyright (c) 2020-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* USB-PD driver for Nintendo Switch's TI BM92T36
|
* USB-PD driver for Nintendo Switch's TI BM92T36
|
||||||
*
|
*
|
||||||
* Copyright (c) 2020 CTCaer
|
* Copyright (c) 2020-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2019-2021 CTCaer
|
* Copyright (c) 2019-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -107,7 +107,7 @@ void max77620_rtc_epoch_to_date(u32 epoch, rtc_time_t *time)
|
|||||||
day = edays - month * 30 - month * 601 / 1000;
|
day = edays - month * 30 - month * 601 / 1000;
|
||||||
|
|
||||||
// Month/Year offset.
|
// Month/Year offset.
|
||||||
if(month < 14)
|
if (month < 14)
|
||||||
{
|
{
|
||||||
year -= 4716;
|
year -= 4716;
|
||||||
month--;
|
month--;
|
||||||
@ -137,7 +137,7 @@ u32 max77620_rtc_date_to_epoch(const rtc_time_t *time)
|
|||||||
month = time->month;
|
month = time->month;
|
||||||
|
|
||||||
// Month/Year offset.
|
// Month/Year offset.
|
||||||
if(month < 3)
|
if (month < 3)
|
||||||
{
|
{
|
||||||
month += 12;
|
month += 12;
|
||||||
year--;
|
year--;
|
||||||
|
@ -111,7 +111,7 @@ static int _se_wait()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ensure data is out from AHB.
|
// Ensure data is out from AHB.
|
||||||
if(ll_dst_ptr->addr >= DRAM_START)
|
if (ll_dst_ptr->addr >= DRAM_START)
|
||||||
{
|
{
|
||||||
timeout = get_tmr_us() + 200000;
|
timeout = get_tmr_us() + 200000;
|
||||||
while (AHB_GIZMO(AHB_ARBITRATION_AHB_MEM_WRQUE_MST_ID) & MEM_WRQUE_SE_MST_ID)
|
while (AHB_GIZMO(AHB_ARBITRATION_AHB_MEM_WRQUE_MST_ID) & MEM_WRQUE_SE_MST_ID)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* BPMP-Lite Cache/MMU and Frequency driver for Tegra X1
|
* BPMP-Lite Cache/MMU and Frequency driver for Tegra X1
|
||||||
*
|
*
|
||||||
* Copyright (c) 2019-2022 CTCaer
|
* Copyright (c) 2019-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
@ -134,7 +134,7 @@ void bpmp_mmu_maintenance(u32 op, bool force)
|
|||||||
// This is a blocking operation.
|
// This is a blocking operation.
|
||||||
BPMP_CACHE_CTRL(BPMP_CACHE_MAINT_REQ) = MAINT_REQ_WAY_BITMAP(0xF) | op;
|
BPMP_CACHE_CTRL(BPMP_CACHE_MAINT_REQ) = MAINT_REQ_WAY_BITMAP(0xF) | op;
|
||||||
|
|
||||||
while(!(BPMP_CACHE_CTRL(BPMP_CACHE_INT_RAW_EVENT) & INT_MAINT_DONE))
|
while (!(BPMP_CACHE_CTRL(BPMP_CACHE_INT_RAW_EVENT) & INT_MAINT_DONE))
|
||||||
;
|
;
|
||||||
|
|
||||||
BPMP_CACHE_CTRL(BPMP_CACHE_INT_CLEAR) = BPMP_CACHE_CTRL(BPMP_CACHE_INT_RAW_EVENT);
|
BPMP_CACHE_CTRL(BPMP_CACHE_INT_CLEAR) = BPMP_CACHE_CTRL(BPMP_CACHE_INT_RAW_EVENT);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* BPMP-Lite Cache/MMU and Frequency driver for Tegra X1
|
* BPMP-Lite Cache/MMU and Frequency driver for Tegra X1
|
||||||
*
|
*
|
||||||
* Copyright (c) 2019-2021 CTCaer
|
* Copyright (c) 2019-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2018-2022 CTCaer
|
* Copyright (c) 2018-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2019 CTCaer
|
* Copyright (c) 2019-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
@ -88,14 +88,14 @@ void gpio_write(u32 port, u32 pins, int high)
|
|||||||
|
|
||||||
void gpio_direction_input(u32 port, u32 pins)
|
void gpio_direction_input(u32 port, u32 pins)
|
||||||
{
|
{
|
||||||
gpio_config(port, pins, GPIO_MODE_GPIO);
|
|
||||||
gpio_output_enable(port, pins, GPIO_OUTPUT_DISABLE);
|
gpio_output_enable(port, pins, GPIO_OUTPUT_DISABLE);
|
||||||
|
gpio_config(port, pins, GPIO_MODE_GPIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
void gpio_direction_output(u32 port, u32 pins, int high)
|
void gpio_direction_output(u32 port, u32 pins, int high)
|
||||||
{
|
{
|
||||||
gpio_config(port, pins, GPIO_MODE_GPIO);
|
|
||||||
gpio_output_enable(port, pins, GPIO_OUTPUT_ENABLE);
|
gpio_output_enable(port, pins, GPIO_OUTPUT_ENABLE);
|
||||||
|
gpio_config(port, pins, GPIO_MODE_GPIO);
|
||||||
gpio_write(port, pins, high);
|
gpio_write(port, pins, high);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2019 CTCaer
|
* Copyright (c) 2019-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2018-2022 CTCaer
|
* Copyright (c) 2018-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2005-2007 Pierre Ossman, All Rights Reserved.
|
* Copyright (c) 2005-2007 Pierre Ossman, All Rights Reserved.
|
||||||
* Copyright (c) 2018-2021 CTCaer
|
* Copyright (c) 2018-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2018-2022 CTCaer
|
* Copyright (c) 2018-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2018 naehrwert
|
* Copyright (c) 2018 naehrwert
|
||||||
* Copyright (c) 2018-2022 CTCaer
|
* Copyright (c) 2018-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
@ -233,7 +233,7 @@ static void _sdmmc_autocal_execute(sdmmc_t *sdmmc, u32 power)
|
|||||||
// Disable E_INPUT to conserve power.
|
// Disable E_INPUT to conserve power.
|
||||||
sdmmc->regs->sdmemcmppadctl &= ~TEGRA_MMC_SDMEMCOMPPADCTRL_PAD_E_INPUT_PWRD;
|
sdmmc->regs->sdmemcmppadctl &= ~TEGRA_MMC_SDMEMCOMPPADCTRL_PAD_E_INPUT_PWRD;
|
||||||
|
|
||||||
if(should_enable_sd_clock)
|
if (should_enable_sd_clock)
|
||||||
sdmmc->regs->clkcon |= SDHCI_CLOCK_CARD_EN;
|
sdmmc->regs->clkcon |= SDHCI_CLOCK_CARD_EN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -521,7 +521,7 @@ static int _sdmmc_wait_cmd_data_inhibit(sdmmc_t *sdmmc, bool wait_dat)
|
|||||||
_sdmmc_commit_changes(sdmmc);
|
_sdmmc_commit_changes(sdmmc);
|
||||||
|
|
||||||
u32 timeout = get_tmr_ms() + 2000;
|
u32 timeout = get_tmr_ms() + 2000;
|
||||||
while(sdmmc->regs->prnsts & SDHCI_CMD_INHIBIT)
|
while (sdmmc->regs->prnsts & SDHCI_CMD_INHIBIT)
|
||||||
if (get_tmr_ms() > timeout)
|
if (get_tmr_ms() > timeout)
|
||||||
{
|
{
|
||||||
_sdmmc_reset(sdmmc);
|
_sdmmc_reset(sdmmc);
|
||||||
@ -1155,7 +1155,7 @@ static int _sdmmc_config_sdmmc1(bool t210b01)
|
|||||||
usleep(100);
|
usleep(100);
|
||||||
|
|
||||||
// Check if SD card is inserted.
|
// Check if SD card is inserted.
|
||||||
if(!sdmmc_get_sd_inserted())
|
if (!sdmmc_get_sd_inserted())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1422,7 +1422,7 @@ int sdmmc_execute_cmd(sdmmc_t *sdmmc, sdmmc_cmd_t *cmd, sdmmc_req_t *req, u32 *b
|
|||||||
|
|
||||||
int sdmmc_enable_low_voltage(sdmmc_t *sdmmc)
|
int sdmmc_enable_low_voltage(sdmmc_t *sdmmc)
|
||||||
{
|
{
|
||||||
if(sdmmc->id != SDMMC_1)
|
if (sdmmc->id != SDMMC_1)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!sdmmc_setup_clock(sdmmc, SDHCI_TIMING_UHS_SDR12))
|
if (!sdmmc_setup_clock(sdmmc, SDHCI_TIMING_UHS_SDR12))
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Fan driver for Nintendo Switch
|
* Fan driver for Nintendo Switch
|
||||||
*
|
*
|
||||||
* Copyright (c) 2018-2022 CTCaer
|
* Copyright (c) 2018-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* Copyright (c) 2003-2008 Alan Stern
|
* Copyright (c) 2003-2008 Alan Stern
|
||||||
* Copyright (c) 2009 Samsung Electronics
|
* Copyright (c) 2009 Samsung Electronics
|
||||||
* Author: Michal Nazarewicz <m.nazarewicz@samsung.com>
|
* Author: Michal Nazarewicz <m.nazarewicz@samsung.com>
|
||||||
* Copyright (c) 2019-2022 CTCaer
|
* Copyright (c) 2019-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Enhanced USB Device (EDCI) driver for Tegra X1
|
* Enhanced USB Device (EDCI) driver for Tegra X1
|
||||||
*
|
*
|
||||||
* Copyright (c) 2019-2022 CTCaer
|
* Copyright (c) 2019-2023 CTCaer
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms and conditions of the GNU General Public License,
|
* under the terms and conditions of the GNU General Public License,
|
||||||
|
@ -28,25 +28,25 @@
|
|||||||
|
|
||||||
/*! Iterate over all list links. */
|
/*! Iterate over all list links. */
|
||||||
#define LIST_FOREACH(iter, list) \
|
#define LIST_FOREACH(iter, list) \
|
||||||
for(link_t *iter = (list)->next; iter != (list); iter = iter->next)
|
for (link_t *iter = (list)->next; iter != (list); iter = iter->next)
|
||||||
|
|
||||||
/*! Iterate over all list links backwards. */
|
/*! Iterate over all list links backwards. */
|
||||||
#define LIST_FOREACH_INVERSE(iter, list) \
|
#define LIST_FOREACH_INVERSE(iter, list) \
|
||||||
for(link_t *iter = (list)->prev; iter != (list); iter = iter->prev)
|
for (link_t *iter = (list)->prev; iter != (list); iter = iter->prev)
|
||||||
|
|
||||||
/*! Safely iterate over all list links. */
|
/*! Safely iterate over all list links. */
|
||||||
#define LIST_FOREACH_SAFE(iter, list) \
|
#define LIST_FOREACH_SAFE(iter, list) \
|
||||||
for(link_t *iter = (list)->next, *safe = iter->next; iter != (list); iter = safe, safe = iter->next)
|
for (link_t *iter = (list)->next, *safe = iter->next; iter != (list); iter = safe, safe = iter->next)
|
||||||
|
|
||||||
/*! Iterate over all list members and make sure that the list has at least one entry. */
|
/*! Iterate over all list members and make sure that the list has at least one entry. */
|
||||||
#define LIST_FOREACH_ENTRY(etype, iter, list, mn) \
|
#define LIST_FOREACH_ENTRY(etype, iter, list, mn) \
|
||||||
if ((list)->next != (list)) \
|
if ((list)->next != (list)) \
|
||||||
for(etype *iter = CONTAINER_OF((list)->next, etype, mn); &iter->mn != (list); iter = CONTAINER_OF(iter->mn.next, etype, mn))
|
for (etype *iter = CONTAINER_OF((list)->next, etype, mn); &iter->mn != (list); iter = CONTAINER_OF(iter->mn.next, etype, mn))
|
||||||
|
|
||||||
/* Iterate over all list members backwards and make sure that the list has at least one entry. */
|
/* Iterate over all list members backwards and make sure that the list has at least one entry. */
|
||||||
#define LIST_FOREACH_ENTRY_INVERSE(type, iter, list, mn) \
|
#define LIST_FOREACH_ENTRY_INVERSE(type, iter, list, mn) \
|
||||||
if ((list)->prev != (list)) \
|
if ((list)->prev != (list)) \
|
||||||
for(type *iter = CONTAINER_OF((list)->prev, type, mn); &iter->mn != (list); iter = CONTAINER_OF(iter->mn.prev, type, mn))
|
for (type *iter = CONTAINER_OF((list)->prev, type, mn); &iter->mn != (list); iter = CONTAINER_OF(iter->mn.prev, type, mn))
|
||||||
|
|
||||||
typedef struct _link_t
|
typedef struct _link_t
|
||||||
{
|
{
|
||||||
@ -62,7 +62,7 @@ static inline void link_init(link_t *l)
|
|||||||
|
|
||||||
static inline int link_used(link_t *l)
|
static inline int link_used(link_t *l)
|
||||||
{
|
{
|
||||||
if(l->next == NULL)
|
if (l->next == NULL)
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -98,7 +98,7 @@ static inline void list_remove(link_t *l)
|
|||||||
|
|
||||||
static inline int list_empty(link_t *lh)
|
static inline int list_empty(link_t *lh)
|
||||||
{
|
{
|
||||||
if(lh->next == lh)
|
if (lh->next == lh)
|
||||||
return 1;
|
return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -198,7 +198,7 @@ int atoi(const char *nptr)
|
|||||||
|
|
||||||
void exec_cfg(u32 *base, const cfg_op_t *ops, u32 num_ops)
|
void exec_cfg(u32 *base, const cfg_op_t *ops, u32 num_ops)
|
||||||
{
|
{
|
||||||
for(u32 i = 0; i < num_ops; i++)
|
for (u32 i = 0; i < num_ops; i++)
|
||||||
base[ops[i].off] = ops[i].val;
|
base[ops[i].off] = ops[i].val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user