Changes in rk30hack
This works on rk3188 based devices too so rename it to rk3xhack. Change-Id: Ia3d9d52d99205057f8bece735a938986491b7522
This commit is contained in:
committed by
Gerrit Code Review
parent
60bf94ec27
commit
3167936cf0
+6
-6
@@ -7,9 +7,9 @@ LOCAL_SRC_FILES := \
|
||||
mtdutils.c \
|
||||
mounts.c
|
||||
|
||||
ifeq ($(TARGET_BOARD_PLATFORM),rk30xx)
|
||||
LOCAL_SRC_FILES += rk30hack.c
|
||||
LOCAL_CFLAGS += -DRK3066
|
||||
ifeq ($(filter rk30xx rk3188,$(TARGET_BOARD_PLATFORM)),)
|
||||
LOCAL_SRC_FILES += rk3xhack.c
|
||||
LOCAL_CFLAGS += -DRK3X
|
||||
endif
|
||||
|
||||
LOCAL_MODULE := libmtdutils
|
||||
@@ -24,9 +24,9 @@ LOCAL_SRC_FILES := \
|
||||
mtdutils.c \
|
||||
mounts.c
|
||||
|
||||
ifeq ($(TARGET_BOARD_PLATFORM),rk30xx)
|
||||
LOCAL_SRC_FILES += rk30hack.c
|
||||
LOCAL_CFLAGS += -DRK3066
|
||||
ifeq ($(filter rk30xx rk3188,$(TARGET_BOARD_PLATFORM)),)
|
||||
LOCAL_SRC_FILES += rk3xhack.c
|
||||
LOCAL_CFLAGS += -DRK3X
|
||||
endif
|
||||
|
||||
LOCAL_MODULE := libmtdutils
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
|
||||
#include "mtdutils.h"
|
||||
|
||||
#ifdef RK3066
|
||||
#include "rk30hack.h"
|
||||
#ifdef RK3X
|
||||
#include "rk3xhack.h"
|
||||
#endif
|
||||
|
||||
typedef struct BmlOverMtdReadContext {
|
||||
@@ -522,7 +522,7 @@ static ssize_t bml_over_mtd_write_block(int fd, ssize_t erase_size, char* data)
|
||||
erase_info.length = size;
|
||||
int retry;
|
||||
for (retry = 0; retry < 2; ++retry) {
|
||||
#ifdef RK3066
|
||||
#ifdef RK3X
|
||||
if (rk30_zero_out(fd, pos, size) < 0) {
|
||||
fprintf(stderr, "mtd: erase failure at 0x%08lx (%s)\n",
|
||||
pos, strerror(errno));
|
||||
|
||||
+5
-5
@@ -28,8 +28,8 @@
|
||||
|
||||
#include "mtdutils.h"
|
||||
|
||||
#ifdef RK3066
|
||||
#include "rk30hack.h"
|
||||
#ifdef RK3X
|
||||
#include "rk3xhack.h"
|
||||
#endif
|
||||
|
||||
struct MtdReadContext {
|
||||
@@ -427,7 +427,7 @@ static int write_block(MtdWriteContext *ctx, const char *data)
|
||||
erase_info.length = size;
|
||||
int retry;
|
||||
for (retry = 0; retry < 2; ++retry) {
|
||||
#ifdef RK3066
|
||||
#ifdef RK3X
|
||||
if (rk30_zero_out(fd, pos, size) < 0) {
|
||||
fprintf(stderr, "mtd: erase failure at 0x%08lx (%s)\n",
|
||||
pos, strerror(errno));
|
||||
@@ -469,7 +469,7 @@ static int write_block(MtdWriteContext *ctx, const char *data)
|
||||
// Try to erase it once more as we give up on this block
|
||||
add_bad_block_offset(ctx, pos);
|
||||
printf("mtd: skipping write block at 0x%08lx\n", pos);
|
||||
#ifdef RK3066
|
||||
#ifdef RK3X
|
||||
rk30_zero_out(fd, pos, size);
|
||||
#else
|
||||
|
||||
@@ -544,7 +544,7 @@ off_t mtd_erase_blocks(MtdWriteContext *ctx, int blocks)
|
||||
struct erase_info_user erase_info;
|
||||
erase_info.start = pos;
|
||||
erase_info.length = ctx->partition->erase_size;
|
||||
#ifdef RK3066
|
||||
#ifdef RK3X
|
||||
if (rk30_zero_out(ctx->fd, pos, ctx->partition->erase_size) < 0) {
|
||||
fprintf(stderr, "mtd: erase failure at 0x%08lx\n", pos);
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* This is a hack for Rockchip rk30xx based devices. The problem is that
|
||||
/* This is a hack for Rockchip rk3x based devices. The problem is that
|
||||
* the MEMERASE ioctl is failing (hangs and never returns) in their kernel.
|
||||
* The sources are not fully available, so fixing it in the rk30xxnand_ko driver
|
||||
* is not possible.
|
||||
@@ -32,7 +32,7 @@
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "rk30hack.h"
|
||||
#include "rk3xhack.h"
|
||||
|
||||
int rk30_zero_out(int fd, off_t pos, ssize_t size)
|
||||
{
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/* This is a hack for Rockchip rk30xx based devices. The problem is that
|
||||
/* This is a hack for Rockchip rk3x based devices. The problem is that
|
||||
* the MEMERASE ioctl is failing (hangs and never returns) in their kernel.
|
||||
* The sources are not fully available, so fixing it in the rk30xxnand_ko driver
|
||||
* is not possible.
|
||||
@@ -26,12 +26,12 @@
|
||||
* the recovery code.
|
||||
*/
|
||||
|
||||
#ifndef __RK30_HACK_H__
|
||||
#define __RK30_HACK_H__
|
||||
#ifndef __RK3X_HACK_H__
|
||||
#define __RK3X_HACK_H__
|
||||
|
||||
#include <sys/types.h> // for size_t, etc.
|
||||
|
||||
// write zeroes to fd at position pos
|
||||
int zero_out(int fd, off_t pos, ssize_t length);
|
||||
|
||||
#endif//__RK30_HACK_H__
|
||||
#endif//__RK3X_HACK_H__
|
||||
Reference in New Issue
Block a user